I think that’s just global vs local scope, and it only appears as a @timed vs @allocated discrepancy because @allocated is introducing local scope now:
julia> (@timed a=rand(3)).bytes
512
julia> @allocated a=rand(3)
80
julia> (@timed let; a=rand(3) end).bytes
80
but this global vs local allocation discrepancy didn’t exist in 1.11, so maybe the changes to variables had an effect
julia> (@timed a=rand(3)).bytes
80
julia> @allocated a=rand(3)
80
julia> (@timed let; a=rand(3) end).bytes
80
I kind of assumed it was for accessing parts of @timed without setting the field names in stone or typing out an additional name on top of a macro call, but then what’s the point if the behavior diverges…