Result: done Tests: tests/compiler –both-settings 315 ok; it guard set (range_spelling shipped_ledger contracts::every_std_module dependency_ledger fmt::every_nika_file) + bounds_checks sharing element_views views_kept ledger_spelling map_ledger warnings_once: 110 ok; nikaia-std –lib tools:: ok; clippy clean; pre-push-check ok; lower-std at its fixpoint (second run unchanged) Deviation: 15 of the 16 qualifying loops rewritten; check_takes.nika failing_cleanups_bound stays an index loop (its body calls self.binding_id while viewing self.cleanups_pending: NK2305, ADR-views-2 D6). The lowering writes the element as (x), and a (x) argument trips rustc unused_parens in lowered/bounds_walk.rs: unused_parens added to the tools module’s allow list in nikaia-std/src/lib.rs, as CLAUDE.md says for lints of lowered code Found: a user program gets the same rustc warning (for mut (a, b) in ps { a += b } prints “Unnecessary parentheses around assigned value”): the emitter wraps every for-mut element read in (x); needs an issue (ready) Gate: green Files: crates/nikaia-std/src/tools/bounds_walk.nika crates/nikaia-std/src/tools/check_takes.nika crates/nikaia-std/src/tools/emit_out.nika crates/nikaia-std/src/tools/ledger.nika crates/nikaia-std/src/tools/project_check.nika crates/nikaia-std/src/tools/sharing.nika crates/nikaia-std/src/tools/view_changes.nika crates/nikaia-std/src/tools/lowered/bounds_walk.rs crates/nikaia-std/src/tools/lowered/check_takes.rs crates/nikaia-std/src/tools/lowered/emit_out.rs crates/nikaia-std/src/tools/lowered/ledger.rs crates/nikaia-std/src/tools/lowered/project_check.rs crates/nikaia-std/src/tools/lowered/sharing.rs crates/nikaia-std/src/tools/lowered/view_changes.rs crates/nikaia-std/src/lib.rs Commit: tools/.nika: index loops that only change v[i] become for mut x in v (#951 step 5) Body: 15 loops in bounds_walk, check_takes, emit_out, ledger, project_check, sharing and view_changes walk the list with for mut and change the element through it; check_takes’ failing_cleanups_bound stays an index loop (its body reads self, NK2305). unused_parens allowed on the lowered tools module: the element is written (*x). Part: #951 Pushed: 1cee2be187f9b98b1876617309ff601f5c41a204

This site is open source. Improve this page.