I tried out your updatexᵢⱼ!
function on some made up vectors. With @code_warntype
and using Julia 1.10.0, I see the yellow under locals at @_5
but not at %6
. Maybe that is some difference across versions in how @code_warntype
presents the same information? In any event, I think that Union
is just the result of iteration returning nothing
at the end of the iteration: @code_warntype gives yellow ::Union{Nothing, Tuple{Int64,Int64}} in for loops. The yellow on the line that calls updatexᵢⱼ!
in your image of the code looks like some information provided by VS Code, which I am not using, so I don’t know how that works. I’m not an expert at tracking down allocations, but it all looks harmless to me, and it definitely doesn’t seem to be allocating on my system.