mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-11-01 07:33:12 +08:00
An element write of a `T | undefined` binding holds a computed index in a temporary ahead of its two stores, which then read the receiver after the index. When the index can rebind the receiver (`a[(a = b, 0)] = u`), the write now keeps reading the receiver first, so it stores into the array the receiver held before the index ran. The key conversion of a union index (a sequence that declares a temporary and may read the constant "undefined" key) no longer counts as running other code, so such an index is still held.