Result: done Files: crates/nikaia-std/src/tools/project_lower.nika crates/nikaia-std/src/tools/lowered/project_lower.rs docs/briefs/b949.md.step1.report.md docs/briefs/b949.md.report.md Commit: project_lower_published takes the ledger’s pairs out of the entry instead of copying them (ADR-views-1) Fixes: #949 Tests: step 1 (2dd2e6d6): 9 new tests/compiler programs, all failed on the unfixed compiler; this step: lower-std lowers it to get_mut + std::mem::take of contract.ensures and contract.from, kept.drain() pushes with no copy; nikaia test –both-settings –project tests/compiler 326 ok, 1 environmental (commit_dry_run: run with a binary copy not named nikaia); no test names project_lower (grep tests/compiler/tests, crates/nikaia/tests/it); it touched modules 277 ok; guard set 23 ok; clippy clean; pre-push-check ok Gate: green Deviation: steps 1-5 are one commit (2dd2e6d6, Part of #949), as the issue’s step 5 says; step 6 this commit; for (e, f) in kept.drain() instead of in kept (a for over a list lends, Part I 6.5, so the pushes would need a copy); the rule also covers a field of a mut parameter handed to a keeper (Part I 6.5 specified it, it was unbuilt: no NK2108, a rustc move error), not ref mut self Found: lowered/check_core_call_on.rs re-lowers to bound.entry(..).or_insert(ty) on this tree (not from my change, left unstaged); nikaia check tests/X.nika run inside tests/compiler prints another file’s refusal (a_bang_after_a_name…) instead of X’s Needs: none Changelog: A part of a let mut view of a place (let mut c = m[k] ?? continue, a for mut element) or of a mut parameter handed to something that keeps it is taken out with no copy (std::mem::take, or mem::replace with a stand-in) and must be given back by assignment before the view’s block is left (NK2108, naming the view and its place); the whole view handed over is NK1131 (ADR-views-1, #949) Rs2nika: none (not a move) Model: Opus 5.5 Disk freed: none (target/nikaia-project-tests 3.5G; / 8.3G free; no new cache entry over 100 MB)

This site is open source. Improve this page.