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
Change destructuring assignment lowering to use match.
Previously, `(a, b) = t` produced code like `{ let (lhs1, lhs2) = t; a = lhs1; b = lhs2; }`,
with this commit instead we produce `match t { (lhs1, lhs2) => { a = lhs1; b = lhs2; } }`.
The desired effect is to make sure that temporaries in the expression `t` aren't dropped too early,
in order to get better consistency between the behavior of e.g. `x = t` vs. `[x] = [t]` or `(x,) = (t,)`
(where `t` is an arbitrary expression).
0 commit comments