Commit e6df8b2
committed
chore(stdlib): STDLIB-04c — remove dead string_concat extern (Closes #330)
The `extern fn string_concat(s1: String, s2: String) -> String;` declared
in `stdlib/effects.affine:35` was dead surface: never wired in any
backend (no entry in `lib/interp.ml` builtins or `lib/codegen_deno.ml`
deno_builtins) and never called from any stdlib, test, or fixture file.
The canonical surface for string concatenation is the `++` operator,
lowered in `Value.binop_string` (interp) and `__as_concat` (Deno
codegen) — one source of truth. Removing the dead extern eliminates
the trap where a caller could `use effects::{string_concat}` and get a
program that compiles but throws "string_concat is not defined" at run.
Updates `docs/TECH-DEBT.adoc` row 04c to DONE per the audit-split
contract.
Closes #330. Refs #175.1 parent f45afa1 commit e6df8b2
2 files changed
Lines changed: 11 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
183 | 183 | | |
184 | 184 | | |
185 | 185 | | |
186 | | - | |
187 | | - | |
188 | | - | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
189 | 192 | | |
190 | 193 | | |
191 | 194 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
35 | | - | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
0 commit comments