# \#cthulhu

**URL:** https://discourse.julialang.org/tag/cthulhu/1339.md

[Latest](https://discourse.julialang.org/latest.md) · [Categories](https://discourse.julialang.org/categories.md) · [Tags](https://discourse.julialang.org/tags.md)

---

## [\`x !== nothing\` incorrectly reported by \`@code\_lowered\` and Cthulhu.jl?](https://discourse.julialang.org/t/x-nothing-incorrectly-reported-by-code-lowered-and-cthulhu-jl/133345)

<div class="topic-metadata">

**Author:** [@johnomotani](https://discourse.julialang.org/u/johnomotani)\
**Replies:** 6\
**Last updated:** [October 22, 2025, 12:57pm UTC](https://discourse.julialang.org/t/x-nothing-incorrectly-reported-by-code-lowered-and-cthulhu-jl/133345 "2025-10-22T12:57:08Z")

</div>

Not sure if this is a bug, or I’m missing something about understanding the output of @code\_lowered and Cthulhu’s @descend. The following REPL snippet shows a very simple function, which if called with argument nothing d…

---

## [Why does \`Cthulhu.@descend\` report incorrect \`Any\` inference in the call menu?](https://discourse.julialang.org/t/why-does-cthulhu-descend-report-incorrect-any-inference-in-the-call-menu/127400)

<div class="topic-metadata">

**Author:** [@Benny](https://discourse.julialang.org/u/Benny)\
**Replies:** 0\
**Last updated:** [March 27, 2025, 4:33am UTC](https://discourse.julialang.org/t/why-does-cthulhu-descend-report-incorrect-any-inference-in-the-call-menu/127400 "2025-03-27T04:33:30Z")

</div>

Cthulhu.@descend sometimes annotates return types of calls as ::Any in the call menu, contradicting @code\_warntype. Descending into the ::Any calls show different return types in the annotated method body, consistent wit…

---

## [In what cases does Cthulhu.jl give a more precise inferred return type than Julia's built-in return type inference?](https://discourse.julialang.org/t/in-what-cases-does-cthulhu-jl-give-a-more-precise-inferred-return-type-than-julias-built-in-return-type-inference/122064)

<div class="topic-metadata">

**Author:** [@nsajko](https://discourse.julialang.org/u/nsajko)\
**Replies:** 0\
**Last updated:** [October 31, 2024, 10:19am UTC](https://discourse.julialang.org/t/in-what-cases-does-cthulhu-jl-give-a-more-precise-inferred-return-type-than-julias-built-in-return-type-inference/122064 "2024-10-31T10:19:15Z")

</div>

I was testing the inferrability of some of my code with Base.infer\_return\_type, and found a case with suboptimal abstract inference. When I tried using Cthulhu.jl to debug this, though, descend shows a more precise, opti…

---

## [\[ANN\] JET/Cthulhu integration](https://discourse.julialang.org/t/ann-jet-cthulhu-integration/118430)

<div class="topic-metadata">

**Author:** [@tim.holy](https://discourse.julialang.org/u/tim.holy)\
**Replies:** 0\
**Last updated:** [August 20, 2024, 8:17pm UTC](https://discourse.julialang.org/t/ann-jet-cthulhu-integration/118430 "2024-08-20T20:17:12Z")

</div>

JET, a package which can systematically analyze your code to detect runtime dispatch, now integrates conveniently with Cthulhu, a package for gaining insights about the source of runtime dispatch and other failures of in…

---

## [Type Inference Issues in IterativeSolvers with LinearMaps](https://discourse.julialang.org/t/type-inference-issues-in-iterativesolvers-with-linearmaps/106007)

<div class="topic-metadata">

**Author:** [@leespen1](https://discourse.julialang.org/u/leespen1)\
**Replies:** 2\
**Last updated:** [November 9, 2023, 8:07pm UTC](https://discourse.julialang.org/t/type-inference-issues-in-iterativesolvers-with-linearmaps/106007 "2023-11-09T20:07:53Z")

</div>

I was trying to improve the performance of a program I use that makes heavy use of implicit time stepping, which results in me solving linear systems of equations ‘Ax=b’. Because of things that have to do with my specifi…

---

## [Cthulhu and setindex!](https://discourse.julialang.org/t/cthulhu-and-setindex/104238)

<div class="topic-metadata">

**Author:** [@Salmon](https://discourse.julialang.org/u/Salmon)\
**Replies:** 2\
**Last updated:** [September 25, 2023, 7:18pm UTC](https://discourse.julialang.org/t/cthulhu-and-setindex/104238 "2023-09-25T19:18:54Z")

</div>

Hi everyone, for today a very simple question: why does Cthulhu seemingly shows this question is so basic that I feel like I must be missing something. julia\> function overwrite!(arr) arr\[1\] = zero(eltype(a…

---

## [Debugging ::Any types in Cthulhu's descend](https://discourse.julialang.org/t/debugging-any-types-in-cthulhus-descend/98734)

<div class="topic-metadata">

**Author:** [@DanielVandH](https://discourse.julialang.org/u/DanielVandH)\
**Replies:** 0\
**Last updated:** [May 12, 2023, 11:11am UTC](https://discourse.julialang.org/t/debugging-any-types-in-cthulhus-descend/98734 "2023-05-12T11:11:02Z")

</div>

I’m trying to understand how to best interpret @descend from Cthulhu.jl in certain cases. Consider: julia\> using DataStructures, Cthulhu julia\> d = DefaultDict(-1, Dict(1 =\> 2)); julia\> @descend delete!(d, 1) delete!(…

---

## [Is Cthulhu wrong? Or is it the compiler?](https://discourse.julialang.org/t/is-cthulhu-wrong-or-is-it-the-compiler/98071)

<div class="topic-metadata">

**Author:** [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)\
**Replies:** 17\
**Last updated:** [May 2, 2023, 2:42pm UTC](https://discourse.julialang.org/t/is-cthulhu-wrong-or-is-it-the-compiler/98071 "2023-05-02T14:42:21Z")

</div>

In this fragment, Cthulhu concludes that all types are concrete, known. Yet, at the bottom it suddenly springs on me csuml is Any. I considered log, and used abs for its argument. To no avail. Any idea how to fix it, a…
