bloat-buster/tests/generic_pointer_array.bbb
2025-05-18 05:37:47 -06:00

15 lines
366 B
Plaintext

foo = macro[T](addr: &u64, count: u64) []T
{
>pointer: &T = #pointer_cast(addr);
return pointer[..count];
}
[export] main = fn [cc(c)] () s32
{
>some_var: u64 = 0xaaaaaaaaaaaaaaaa;
>result: []&u8 = foo[&u8](&some_var, 1);
if (#int_from_pointer(result.pointer) != 0xaaaaaaaaaaaaaaaa) #trap();
if (result.length != 1) #trap();
return 0;
}