test: prove package initialization semantics

This commit is contained in:
2026-08-14 19:02:49 +09:00
parent c6bec0914d
commit 763bbc8f25
24 changed files with 2243 additions and 349 deletions

View File

@@ -1,9 +1,9 @@
//ww:run-exit 42
package main;
type bs = struct { rbuf: []u8, mark: i32 };
fn init(b: *bs, rbuf: []u8) void = { b.rbuf = rbuf; b.mark = 9; };
fn setup(b: *bs, rbuf: []u8) void = { b.rbuf = rbuf; b.mark = 9; };
fn main() i32 = {
let raw: [8]u8; raw[0] = 0u8; let b: bs; init(&b, raw[0:5]);
let raw: [8]u8; raw[0] = 0u8; let b: bs; setup(&b, raw[0:5]);
if (b.rbuf.len != 5) { return 1; }; if (b.rbuf.cap != 8) { return 2; };
if (b.mark != 9) { return 3; }; return 42;
};