Result: done Files: crates/nikaia-std/src/tools/text_tiers.nika crates/nikaia-std/src/tools/lowered/text_tiers.rs tests/compiler/tests/a_text_literal_changed_in_place_is_text_of_its_own.nika tests/compiler/tests/a_text_literal_changed_in_place_is_text_of_its_own.stdout docs/briefs/b961.md.report.md Commit: text tiers: a name bound to a literal and changed in place is text of its own wherever it is kept Fixes: #961 Tests: a_text_literal_changed_in_place_is_text_of_its_own (set, Vec of tuples with +=, typed tuple let); the issue probe (push_str into a set and into a Vec of tuples) failed on the compiler before the fix (rustc mismatched types); the final test file was not re-run unfixed (no stash in the shared checkout); nikaia test –both-settings –project tests/compiler 287 ok; it sysroot:: + guard set 38 ok; clippy clean Gate: green Deviation: the fix is in tools/text_tiers.nika only (text_tiers.rs is the adapter); lowered.rs not committed (holds another agent’s comptime_tree change, mine changed no export); lower-std ran in the shared checkout without NK2305 Found: x += ".." on a literal-bound name reset its literal binding (tier_assign set local.literal = -1 as for x = ..), so it was never kept; a compound assignment now keeps the binding Needs: none Changelog: A name bound to a text literal and changed in place (push_str, +=) is declared String, and the set, list of tuples or typed let it goes into holds String, not &'static str (ADR-282 D17, #961) Owner: none Rs2nika: none

This site is open source. Improve this page.