Tracking issue for STDLIB-04c — row-split of STDLIB-04 (docs/TECH-DEBT.adoc:162, Refs #175).
Scope
extern fn string_concat(s1: String, s2: String) -> String;
declared in stdlib/effects.affine:35.
Current state (audit)
Per the 2026-05-24 audit, string_concat has no direct wiring found in any backend. Concatenation today is the ++ operator, which is independently lowered. So this extern is either dead surface or genuinely unwired.
Acceptance (decide one)
Severity / class
S3 — small, mostly verification. Refs #175.
Tracking issue for STDLIB-04c — row-split of STDLIB-04 (
docs/TECH-DEBT.adoc:162, Refs #175).Scope
declared in
stdlib/effects.affine:35.Current state (audit)
Per the 2026-05-24 audit,
string_concathas no direct wiring found in any backend. Concatenation today is the++operator, which is independently lowered. So this extern is either dead surface or genuinely unwired.Acceptance (decide one)
stdlib/effects.affine+ verify no internal caller breaks; document++as the canonical surface.++lowering) + hermetic round-trip test.Severity / class
S3 — small, mostly verification. Refs #175.