diff options
Diffstat (limited to 'testsuite/compilable/generic_arguments.elna')
| -rw-r--r-- | testsuite/compilable/generic_arguments.elna | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/testsuite/compilable/generic_arguments.elna b/testsuite/compilable/generic_arguments.elna index 6bc5242..4d33db5 100644 --- a/testsuite/compilable/generic_arguments.elna +++ b/testsuite/compilable/generic_arguments.elna @@ -1,3 +1,4 @@ +program() type File = record fd: Int @@ -11,18 +12,15 @@ type var entry: Pair#[^File, ^Word8] -proc allocate#[T](size: Word) -> T extern +proc allocate#[T](size: Word) -> T +extern proc first#[K, V](entry_ptr: ^Pair#[K, V]) -> K -begin return entry_ptr^.key -program() begin entry.key := allocate#[^File](#size(File)); assert(#size(Pair#[^File, ^Word8]) = #size(Pointer) * 2u); assert(#offset(Pair#[^File, ^Word8], value) = #size(Pointer)); assert(first#[^File, ^Word8](@entry) = entry.key) -return 0u8 - end. |
