Closed
Description
This was pointed out on slack:
julia> Meta.@lower a[f(x), g(y)...]
:($(Expr(:thunk, CodeInfo(
@ none within `top-level scope`
1 ─ %1 = g(y)
│ %2 = f(x)
│ %3 = Core.tuple(a, %2)
│ %4 = Core._apply_iterate(Base.iterate, Base.getindex, %3, %1)
└── return %4
))))
I don't see any reason why g(y)
should be evaluated before f(x)
, so this can probably be considered a bug in lowering.