Files
AILang/crates/ail
Brummel 02775b58ca test(codegen): mark the #49 Str-leg RED pin #[ignore] pending the representation spec
The Str-leg pin (committed 04f75c8) is RED on main: a heap-Str loop
binder replaced by `recur` leaks every superseded slab (live=3). Closing
it turned out NOT to be a mechanical fix. The "clone the static seed"
approach only covers the common accumulator shape (a fresh `str_concat`
result each iteration); it does not cover a `recur` arg or loop result
that is itself static, nor a phi-join of (static, heap) Str whose runtime
value may be static — and `ailang_rc_dec` on a static-Str pointer is UB
(no rc_header; rc.c has no runtime guard, per
design/contracts/0011-str-abi.md). A correct fix needs the deliberate
"every Str in loop-carried state is heap" representation decision that
commit f488d31 flagged as pending — routed through brainstorm.

This `#[ignore]` keeps `main`'s `cargo test --workspace` green while that
design cycle runs. The assertion body — the live=0 contract — is
unchanged; the GREEN implementation removes the `#[ignore]`. The ADT-leg
guard stays an active green test. Forward-fix only; main HEAD untouched.

refs #49
2026-05-31 11:21:52 +02:00
..