selfhost: port append + spread — N_SPREAD parser + rt_ensure builtin

This commit is contained in:
2026-05-12 16:04:17 +09:00
parent f67c07cbae
commit ce5d66e18a
7 changed files with 525 additions and 15 deletions

View File

@@ -159,6 +159,25 @@ main(void)
" return -1;\n"
"};\n"
"fn main() i32 = { return classify(2); };" },
{ "append",
"use os;\n"
"fn main() i32 = {\n"
" let s: []u8;\n"
" s.ptr = nil; s.len = 0; s.cap = 0;\n"
" append(s, 65u8, 66u8, 67u8);\n"
" return s.len: i32;\n"
"};" },
{ "append_spread",
"use os;\n"
"fn main() i32 = {\n"
" let src: []i64;\n"
" src.ptr = nil; src.len = 0; src.cap = 0;\n"
" append(src, 10i64, 20i64);\n"
" let dst: []i64;\n"
" dst.ptr = nil; dst.len = 0; dst.cap = 0;\n"
" append(dst, src...);\n"
" return dst.len: i32;\n"
"};" },
{ NULL, NULL },
};