- What cost the most: row d, the struct field. Its fix needed an edit to how the struct’s
'a is decided (views_the_call_s / holds_view in views.nika, borrowing in emit_tables.nika). That cost about 12 turns, including telling apart a regression (e2) from a failure that was already there, and checking the on_a_cycle impl for< prefix rewrite in emit_function.nika. Writing probes in syntax I didn’t know cost about 4 more: (h.f)(..) doesn’t parse, struct fields need commas, and String without ref was refused with NK1102.
- What the brief could have handed me:
- That the
Kept form’s lifetimes pair with views_the_call_s (views.nika:419), which also tests is_sync. The twin check outside the brief’s file was the real blocker.
- That the second fallback at
:233 can never be reached (runs implies code_parameter_runs).
- The call syntax for a field holding a function (
h.f(a, b)) and that struct fields are separated by commas.
- Where an unfixed binary lives (
/home/user/nikaia-suite/target/fast/nikaia), which I found by chance.
- Checks: the old/new probe matrix (a–f, ds, bs, e2), one standalone
rustc check of the for<'call> AsyncFn form, two build cycles, the full tests/compiler run with both settings, fmt, clippy on 1.97 and 1.99.1, and pre-push-check.sh. Wasted: the first build, which carried the kept form I later reverted, and a workspace-wide clippy that went red on another agent’s file.
- Change that would have saved the most: the architect’s trace should list every function that repeats the rule it widens, here
views_the_call_s’s !code.is_sync. It should also either allow that file or drop row d up front. A standing line in builder.md would help too: “an unfixed binary for before/after probes: /home/user/nikaia-suite/target/fast/nikaia”.
This site is open source.
Improve this page.