Result: done for steps 1, 2 and 3 except two tests that wait for #949 (see Deviation); step 4-6 not started Pushed: e6cb855 (step 1), 0c90e00 (steps 2 and 3 together) Tests: tests/compiler –both-settings 314 ok (step 1: 297 ok); it: specification:: mut_bindings:: diagnostics:: view_changes, guard set (range_spelling shipped_ledger contracts::every_std_module dependency_ledger fmt::every_nika_file) ok; parser:: ok; clippy clean after step 1 (no Rust changed after). Whole it run after step 1 (parser change): 11 failures, none mine (see Found) Deviation: steps 2 and 3 are one commit: the shared tree’s lowering was broken twice by another session’s WIP (types.nika extend of a const text array, #966), so the cycle ran once for both. Two tests of step 2 not written: a_for_mut_element_takes_a_part_out_and_gives_it_back, a_for_mut_element_left_without_its_part_is_refused (NK2108): they need ADR-views-1 (#949), not built; today a part taken out of the element is NK1131 (tested by hand), which is what a let mut view does. Added a_for_mut_element_handed_to_a_keeper_is_refused (NK1131) and a_for_mut_tuple_over_a_list_of_pairs_writes_through. NK1307 is a parse-phase refusal from parser/mod.rs (parse findings have no checker); it is said after the parse is through, so a real parse error wins. New tests were not run against an unfixed compiler (new syntax, a parse error before). Tests/specification EXPECTED.txt and COMPILES.txt regenerated (a Part I 3.3 block now lowers; the blocks had also drifted by one). The supervisor’s other agent’s commit 29122d3 swept my in-progress check_core_args.nika hunk into its commit before my definition was pushed: develop was red between 29122d3 and 0c90e00. Found: (1) text in a list cannot be changed in place with a literal-filled list: let mut v: Vec[P] = [P{name:"a"}]; v[0].name += "!" fails in rustc (+= on &’static str), same through let mut e = v[0] and for mut p in v; the text tier pass does not see a change in place of an element. Probe: struct P{pub name:String}; let mut v:Vec[P]=[P{name:”a”}]; v[0].name += “!”. Needs an issue (ready). (2) for mut x in grid[i] (an Index place) and SafeField are refused as “isn’t supported yet” (NK1139): only a name or a field path is a mutable list place, as let mut views are. (3) it failures not mine: keeps::a_parameter_put_into_a_struct_is_kept, keeps::the_column_renders_and_parses_back, language::the_language_package_passes_its_own_tests, sysroot::stds_nikaia_half_lowers_the_same_at_both_switches, text_views::a_map_key_filled_by_views_is_a_view, text_views::a_string_parameter_used_as_a_map_key_is_lent, views_kept::reads_past_a_jump_and_found_text_run, selfhosting_defects::a_character_in_the_arms_of_an_if_handed_to_a_byte_is_a_byte: all NK1102 str against String / scalar against u8 from #964 (052170a) on programs in tests; the compiler_test_package failure was my untracked step-2 tests present before step 2 (passes now). (4) p.n = v[0].n in a for mut p in v over a Copy struct is a rustc error without step 3’s NK2305: now NK2305. Needs: owner: nothing. supervisor: version raise for steps 1-3; #949 builder for the two tests; an issue for Found (1) Changelog: for mut x in xs writes through to a list or an array held mut (a view of the element, iter_mut()), is a let mut of the turn over drain() or a range; mut before one name of a tuple is NK1307; mut on a map key, a set element or an adapter’s element is NK1306; the list of a for mut cannot be read in the body (NK2305) (#951) Gate: green for the touched set; whole it not green because of #964 (Found 3) Files: parser/mod.rs ast.nika check_core_stmt.nika check_reports.nika check_state.nika check_core_leaves.nika check_core_comptime.nika check_core_args.nika emit_stmt.nika node_numbers.nika view_changes.nika check_function.nika check_notes.nika + lowered, 16 tests in tests/compiler/tests, tests/specification Disk: target/nikaia-project-tests 3.1G, / 9.1G free (above 3 GB, not removed); no new entry over 100 MB seen Comment for #951: steps 1-3 built; map values in place and one mut name stay NK1307; two NK2108 tests wait for #949

This site is open source. Improve this page.