Getproperty for a Task is type unstable?

julia> a() = sum(i for i in 1:1000);

julia> b = Task(a);

julia> @descend_code_warntype (b -> b.queue)(b)
(::var"#87#88")(b) @ Main REPL[64]:1
Body::Any
  1 ─      nothing                                                                                                                           │ 
  2 ─      nothing                                                                                                                           │ 
  3 ─      nothing                                                                                                                           │ 
1 4 ─ %4 = Base.getfield(b, :queue)::Any                                                                                                     │╻ getproperty
  └──      goto #5                                                                                                                           ││
  5 ─      return %4                                                                                                                         │ 
Select a call to descend into or ↩ to ascend. [q]uit. [b]ookmark.
Toggles: [o]ptimize, [w]arn, [h]ide type-stable statements, [d]ebuginfo, [r]emarks, [e]ffects, [i]nlining costs, [t]ype annotations, [s]yntax highlight for Source/LLVM/Native.
Show: [S]ource code, [A]ST, [T]yped code, [L]LVM IR, [N]ative code
Actions: [E]dit source code, [R]evise and redisplay
Advanced: dump [P]arams cache.
 • ↩

This shows up while looking through FFTW calls using JET. I’m not familiar with the internals here, so I was wondering if this is intentional, and something that I may ignore in the JET report.

seems like it

1 Like