mut parameter it is handed to (NK1102)Open and answer this issue on GitHub.
ready · opened 2026-10-29 · updated 2026-10-29 · 0 comments
This is the remaining step 2 of #977 (b976 report). It is a defect: ADR-282 D12 makes the element of a declared list a position, and D16 links a list with a position to where it goes, with one tier (ADR-353 D8 builds on this).
Probe
fn add(mut all: Vec[String], x: String) { all.push(x.clone()) }
let mut lists: Vec[Vec[String]] = [[], ["q"]]
add(lists[1], "r") // NK1102
let mut e = lists[1]; add(e, "r") // NK1102
A flat list passes: let mut one: Vec[String] = ["q"]; add(one, "s").
Cause: in tools/text_tiers.nika, source_of/place_of have no Expr::Index case, and Declaring carries no path inside its owner.
To build
Declaring (or source_of) a path, with a list’s element at [0], and use it in link_from and in the untyped let of tier_let.