aboutsummaryrefslogtreecommitdiff
path: root/testsuite/runnable/recursive_record.elna
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2026-10-09 14:43:11 +0200
committerEugen Wissner <belka@caraus.de>2026-10-09 14:43:11 +0200
commit134d3ac4caff6d87c79b0892e57073594cb0064c (patch)
treee93c73d59ee50f3bdaa073bb5908ae3c74f7a985 /testsuite/runnable/recursive_record.elna
parent244449004fb62adbfd43b81e8dfce7500ca4a7e4 (diff)
downloadelna-134d3ac4caff6d87c79b0892e57073594cb0064c.tar.gz
Remove Pointer and nil support
Diffstat (limited to 'testsuite/runnable/recursive_record.elna')
-rw-r--r--testsuite/runnable/recursive_record.elna14
1 files changed, 7 insertions, 7 deletions
diff --git a/testsuite/runnable/recursive_record.elna b/testsuite/runnable/recursive_record.elna
index 48fb873..1667bf4 100644
--- a/testsuite/runnable/recursive_record.elna
+++ b/testsuite/runnable/recursive_record.elna
@@ -10,10 +10,10 @@ var
second: ^Node
third: ^Node
-proc malloc(size: Word) -> Pointer
+proc malloc#[T](size: Word) -> ^T
extern
-proc free(ptr: Pointer)
+proc free#[T](ptr: ^T)
extern
proc sum(node: ^Node) -> Int
@@ -21,7 +21,7 @@ var
result: Int
begin
result := 0;
- if node = nil then
+ if node = cast(0u: ^Node) then
result := 0
else
result := node^.value + sum(node^.next)
@@ -29,16 +29,16 @@ begin
return result
begin
- first := malloc(#size(Node));
- second := malloc(#size(Node));
- third := malloc(#size(Node));
+ first := malloc#[Node](#size(Node));
+ second := malloc#[Node](#size(Node));
+ third := malloc#[Node](#size(Node));
first^.value := 1;
first^.next := second;
second^.value := 2;
second^.next := third;
third^.value := 3;
- third^.next := nil;
+ third^.next := cast(0u: ^Node);
assert(sum(first) = 6);
assert(first^.next^.next^.value = 3);