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
This backports 1928cea0f0cc5f74e1840d00b5c809f7ed73402b from x/tools:
go/ssa: emit field and index lvals on demand
Adds a new lazyAddress construct. This is the same as an *address
except it emits a FieldAddr selection, Field selection, or IndexAddr
on demand.
This fixes issues with ordering on assignment statements. For example,
x.f = e panics on x being nil in phase 2 of assignment statements.
This change delays the introduction of the FieldAddr for x.f until it is
used instead of as a side effect of (*builder).addr. The nil deref panic
is from FieldAddr is now after side-effects of evaluating x and e but
before the assignment to x.f.
0 commit comments