nightly-20260703
Pre-release
Pre-release
Changed
- bit-field accesses lower minimally: a constant write folds its masked/shifted value to a single literal at desugar time (r.s = r.s AND 248 OR 5 instead of ... OR 5 AND 7; ... AND 15 OR 192 instead of ... OR (12 AND 15) * 16), and a constant 0 drops the OR entirely (clear-only) * bit-field write to a field covering its whole container skips the read-modify-write - the BYTE/WORD member store truncates the value itself * bit-field read drops the redundant width mask when the field reaches the container's top bit (offset+width = container bits) - the logical right shift of the unsigned container already cleared everything below, so PRINT r.s \ 16 AND 15 becomes PRINT r.s \ 16; a full-container field reads the member directly + 4 binder tests pinning the minimized shapes (constant fold, zero-write clear-only, full-container plain store, top-of-container maskless read) (8a88a91)