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; }