Result: done Files: crates/nikaia-std/src/tools/check_arm_leaves.nika crates/nikaia-std/src/tools/check_collect.nika crates/nikaia-std/src/tools/check_core_call.nika crates/nikaia-std/src/tools/check_core_expr.nika crates/nikaia-std/src/tools/check_core_method.nika crates/nikaia-std/src/tools/check_core_pilot.nika crates/nikaia-std/src/tools/check_core_places.nika crates/nikaia-std/src/tools/check_core_stmt.nika crates/nikaia-std/src/tools/check_facts.nika crates/nikaia-std/src/tools/check_function.nika crates/nikaia-std/src/tools/check_program.nika crates/nikaia-std/src/tools/emit_core_args.nika crates/nikaia-std/src/tools/emit_function.nika crates/nikaia-std/src/tools/emit_misc.nika crates/nikaia-std/src/tools/emit_program.nika crates/nikaia-std/src/tools/emit_state.nika crates/nikaia-std/src/tools/emit_stmt.nika crates/nikaia-std/src/tools/lowered.rs crates/nikaia-std/src/tools/lowered/check_arm_leaves.rs crates/nikaia-std/src/tools/lowered/check_collect.rs crates/nikaia-std/src/tools/lowered/check_core_call.rs crates/nikaia-std/src/tools/lowered/check_core_expr.rs crates/nikaia-std/src/tools/lowered/check_core_method.rs crates/nikaia-std/src/tools/lowered/check_core_pilot.rs crates/nikaia-std/src/tools/lowered/check_core_places.rs crates/nikaia-std/src/tools/lowered/check_core_stmt.rs crates/nikaia-std/src/tools/lowered/check_facts.rs crates/nikaia-std/src/tools/lowered/check_function.rs crates/nikaia-std/src/tools/lowered/check_program.rs crates/nikaia-std/src/tools/lowered/emit_core_args.rs crates/nikaia-std/src/tools/lowered/emit_function.rs crates/nikaia-std/src/tools/lowered/emit_misc.rs crates/nikaia-std/src/tools/lowered/emit_program.rs crates/nikaia-std/src/tools/lowered/emit_state.rs crates/nikaia-std/src/tools/lowered/emit_stmt.rs tests/compiler/tests/a_function_takes_a_reflected_field.nika tests/compiler/tests/a_function_takes_a_reflected_field.stdout tests/compiler/tests/a_reflected_field_kept_past_the_build_is_refused.nika tests/compiler/tests/a_reflected_field_kept_past_the_build_is_refused.stderr Commit: check: a function takes a reflected field, meta::Field (Part II 10.3) Body: The reflected field’s type is now named meta::Field (was $Field; contracts/ty.rs FIELD const, unused, left as is, outside the brief’s files). A call with a meta::Field parameter inside an unrolled turn records (function, struct) in CheckFacts.field_copies; check_program_unroll walks each such function per field like a turn (check_program_turns), and the emitter writes one copy per field, named check_specialised(fn, “Struct::field”) (e.g. wire_name__Contact__name), with the field parameter dropped and the call rewritten to that copy (emit_call_field_copy, owner tracked per loop binding in EmitWalk.field_owners). hands_over_read_at never moves a meta::Field. NK1320 for meta::Field as a struct/variant field, a result, a let’s type or inside a generic (checked in collect_declared, check_function, check_core_stmt). Copies are recorded per unit (a field function called from another file is not harvested yet). The .stdout’s kind line for email (String?) is what the program prints: “something else”. Part: #1019 Tests: both new tests FAILED on the unfixed compiler (NK1102/NK2105; rustc “meta” not found) and pass with –both-settings; reflected_field_ty, match_on_a_kind(arm_checked), type_as_argument(_value_refused), all grammar* and every test using ::fields/::variants: 41 passed, –both-settings; probe of NK1320 on result, Vec element, let: 3 findings; nikaia-std tools:: unit tests ok; lower-std fixpoint clean; fmt, clippy (1.97; 1.99.1 not installed), badges, bump ok Gate: green Deviation: comptime f: meta::Field not built: the parser refuses every comptime value parameter (reserved word), parser outside the brief’s files Found: scripts/pre-push-check.sh fails on develop: check-adr-refs.py “ADR-384: a record with no index row” (91d5eb6, briefs commit) Needs: none Changelog: A function may take a reflected field, fn f(field: meta::Field): each call in an unrolled turn calls a copy made for that field, the field is not moved, and meta::Field anywhere but as a parameter’s type is NK1320. Owner: none Disk freed: 0 GB (no clone; project-tests cache 3.6G, 13G free on /, no new entry over 100 MB) Rs2nika: none Pushed: local 7fe9f8830f7e7a17cd13281e2be8237837ed3967