Result: partial Files: crates/nikaia-std/src/tools/text_tiers.nika crates/nikaia-std/src/tools/lowered/text_tiers.rs tests/compiler/tests/a_text_let_in_a_tuple_part_is_text_of_its_own.nika tests/compiler/tests/a_text_let_in_a_tuple_part_is_text_of_its_own.stdout assets/badges/self-hosted.svg docs/briefs/b956.md.report.md Commit: text tiers: a name bound to literals, a String part of a tuple put or looked up, is declared String Fixes: #957 (2d11c71); #956 only Part (this commit) Pushed: rejected (2d11c71 #957 and this commit unpushed; develop moved, supervisor rebases) Tests: new a_null_in_a_tuple_of_a_typed_list_takes_the_declared_option (NK1154 on the unfixed compiler) and a_text_let_in_a_tuple_part_is_text_of_its_own (rustc E0308 at set.remove on the unfixed compiler) pass after; b954’s test with the literal passes; nikaia test –both-settings –project tests/compiler 265 of 265 ok; it guard set 23 ok; clippy clean; pre-push-check ok after badges.py; lower-std fixpoint Gate: green Deviation: #956 step 3 not built (the fold in check_core_flow_arm_names_compared): see Found; the two remove branches stay Found: D17 does not reach a container that is a field of a struct of another file: text_tiers (crates/nikaia/src/text_tiers.rs refine) reads only std’s ledger, so in tools/*.nika let one = "q" then state.facts.compared_views.insert((1, one)) (CheckFacts is in check_facts.nika) still lowers let one = "q"; ...insert((1, one)) (E0308), while the same with a local BTreeSet[(i64, String)] now lowers let two: String = String::from("z"); the plain form let w = "x"; state.facts.compares.insert(w) is NK1102’s “not yet” backstop (ADR-282 D12 note, documented as unreached). Also met: standalone keep((1, o3)) with fn keep(t: (i64, String)) and let t: (i64, String) = (1, o4) (o3, o4 bound to literals) are NK1102/NK1103 (?, ref String), while set.insert((1, o3)) is accepted Needs: owner decision (does text_tiers read the package’s ledger, so D17 sees fields of another file’s struct, or does the checker refuse a literal-bound tuple part there with NK1102’s help); then #956 step 3 Changelog: #957: A null in a tuple of a list literal whose declared element holds an option there (Vec[(String, String?)] = [("a", "y"), ("b", null)]) takes that option, wherever in the list it stands (#957) Changelog: #956 (part): A name bound to text literals, written as a String part of a tuple pushed, inserted or looked up in a list, set or map the program declares, is text of its own (ADR-282 D17, #956) Owner: Should text_tiers read the package’s own ledger so D17 reaches fields of structs declared in another file (the #956 tools site)? Disk freed: none (target/nikaia-project-tests 529M; / 4.7G free; no new cache entry over 100 MB) Rs2nika: none

This site is open source. Improve this page.