You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
One of the bigger sources of "noise" I've noticed comes from cases where one is analyzing internal methods designed to work with little help from inference and for which therefore there is only one applicable method. In such cases JET will still warn you, for the obvious reason that Julia generates a fallback call. (This is after JuliaLang/julia#43923, but that applies to Union-splitting but not "world-splitting.")
It's not wrong to warn, but it can be inconvenient. It might be nice to have an option to avoid printing these. It looks a bit complicated to suppress this case, so I thought I'd start with an issue/discussion first.
julia>f(::Int) =1
f (generic function with 1 method)
julia>g(c) =f(c[1])
g (generic function with 1 method)
julia>@code_typedg(Any[0])
CodeInfo(
1 ─ %1= Base.arrayref(true, c, 1)::Any
│ %2= (isa)(%1, Int64)::Bool
└── goto #3 if not %22 ─ goto #43 ─ %5= Main.f(%1)::Int64
└── goto #44 ┄ %7= φ (#2 => 1, #3 => %5)::Int64
└── return%7
) => Int64
julia>using JET
julia>@report_optg(Any[0])
═════ 1 possible error found ═════
┌ @ REPL[2]:1 Main.f(%1)
│ runtime dispatch detected: Main.f(%1::Any)
└─────────────
The text was updated successfully, but these errors were encountered:
One of the bigger sources of "noise" I've noticed comes from cases where one is analyzing internal methods designed to work with little help from inference and for which therefore there is only one applicable method. In such cases JET will still warn you, for the obvious reason that Julia generates a fallback call. (This is after JuliaLang/julia#43923, but that applies to Union-splitting but not "world-splitting.")
It's not wrong to warn, but it can be inconvenient. It might be nice to have an option to avoid printing these. It looks a bit complicated to suppress this case, so I thought I'd start with an issue/discussion first.
The text was updated successfully, but these errors were encountered: