mirror of
https://github.com/odin-lang/Odin.git
synced 2026-11-04 09:43:11 -05:00
Indexing a swizzle (`v.yx[i]`, `swizzle(v, ...)[i]`, `soa[i].zyx[j]`) or taking a selector of one (`v.zyx.x`, `v.zyx.xy`) asked for the swizzle's pointer, which `lb_addr_get_ptr` panics on, crashing the compiler. An index now reads from a copy of the swizzle, as the checker never lets it be assigned. A selector maps its components onto the swizzled variable, so assigning through it still writes to that variable. Fixes #7889