diff options
Diffstat (limited to 'testsuite/compilable/generic_arguments.elna')
| -rw-r--r-- | testsuite/compilable/generic_arguments.elna | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/testsuite/compilable/generic_arguments.elna b/testsuite/compilable/generic_arguments.elna index 4d33db5..1cda57f 100644 --- a/testsuite/compilable/generic_arguments.elna +++ b/testsuite/compilable/generic_arguments.elna @@ -5,22 +5,22 @@ type end Pair#[K, V] = record - key: K; - value: V + key: ^K; + value: ^V end var - entry: Pair#[^File, ^Word8] + entry: Pair#[File, Word8] -proc allocate#[T](size: Word) -> T +proc allocate#[T](size: Word) -> ^T extern -proc first#[K, V](entry_ptr: ^Pair#[K, V]) -> K +proc first#[K, V](entry_ptr: ^Pair#[K, V]) -> ^K return entry_ptr^.key 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) + 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) end. |
