test/wcc/data: grow the declarative compiler corpus to 1,224 fixtures
The r-prefixed waves absorb the runtime, reject, and byte-compare rows of the migrated native carriers; each fixture is one directory with one case.ww and a //ww:error, //ww:compile, //ww:run, or //ww:run-exit directive covering both frontends.
This commit is contained in:
9
test/wcc/data/r78_named_ptr_alias_handle_widen/case.ww
Normal file
9
test/wcc/data/r78_named_ptr_alias_handle_widen/case.ww
Normal file
@@ -0,0 +1,9 @@
|
||||
//ww:run-exit 42
|
||||
package main;
|
||||
type vtable = struct { x: i32 };
|
||||
type stream = *vtable;
|
||||
type file = i32;
|
||||
type handle = (file | stream);
|
||||
fn hwrite(h: handle, n: u64) u64 = { match (h) { case file => return 111u64; case let s: stream => return n; }; };
|
||||
fn emit(v: *vtable, n: u64) u64 = { return hwrite(v, n); };
|
||||
export fn main() i32 = { let vt: vtable; vt.x = 0; let sum: u64 = 0u64; let i: i32 = 0; for (i < 10) { sum = sum + emit(&vt, 4u64); i += 1; }; if (sum == 40u64) { return 42; }; return (sum: i32); };
|
||||
Reference in New Issue
Block a user