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
I don't understand how the error arises. InteractiveUtils.code_lowered(.+, (Base.typesof)(1, 1)) evaluates correctly in the scope of the macro invocation.
The text was updated successfully, but these errors were encountered:
Sorry about that, it was overlooked in #35522 because the issue only occurs when using a dot symbol on arguments that are not lowered to Expr, which I did not think of. Fix is up at #45894.
The reason why the error arises while the explicit call works is that, in the macro, .+ is lowered to a symbol, i.e.Symbol(".+") while in the explicit call you tried, it is transformed into Expr(:., :+). You can see it by comparing dump(@macroexpand @code_warntype 1 .+ 3) to dump(:(InteractiveUtils.code_warntype(.+, (Base.typesof)(1, 3)))).
It also happens on Julia v1.6
By the way,
I don't understand how the error arises.
InteractiveUtils.code_lowered(.+, (Base.typesof)(1, 1))
evaluates correctly in the scope of the macro invocation.The text was updated successfully, but these errors were encountered: