diff options
| author | Eugen Wissner <belka@caraus.de> | 2026-10-07 10:15:16 +0200 |
|---|---|---|
| committer | Eugen Wissner <belka@caraus.de> | 2026-10-07 10:15:16 +0200 |
| commit | f547dae96d770cc7bc27d3790d0d87bb8e37963d (patch) | |
| tree | 052abb2d81cabc5a3c5bde7d623ef2af9dcd45e9 /testsuite | |
| parent | f9dfefc52fc792099b622ae47dafa32d2512e51e (diff) | |
| download | elna-f547dae96d770cc7bc27d3790d0d87bb8e37963d.tar.gz | |
Make procedure pointers compatible with normal pointers
Diffstat (limited to 'testsuite')
| -rw-r--r-- | testsuite/fail_compilation/assign_procedure.elna | 11 | ||||
| -rw-r--r-- | testsuite/runnable/procedure_cast.elna | 6 |
2 files changed, 14 insertions, 3 deletions
diff --git a/testsuite/fail_compilation/assign_procedure.elna b/testsuite/fail_compilation/assign_procedure.elna new file mode 100644 index 0000000..7d69724 --- /dev/null +++ b/testsuite/fail_compilation/assign_procedure.elna @@ -0,0 +1,11 @@ +module + +proc f() +return + +proc g() +begin + f := g (* @Error Cannot assign to a value of type 'proc\(\)', because it is constant or contains constant members *) +return + +end. diff --git a/testsuite/runnable/procedure_cast.elna b/testsuite/runnable/procedure_cast.elna index 191afbf..d724e38 100644 --- a/testsuite/runnable/procedure_cast.elna +++ b/testsuite/runnable/procedure_cast.elna @@ -1,11 +1,11 @@ program() var - cb: proc(x: ^Char) -> Int + cb: ^proc(x: ^Char) -> Int proc probe_int(x: ^Int) -> Int return 42 begin - cb := cast(probe_int: proc(x: ^Char) -> Int); - assert(cb(nil) = 42) + cb := cast(@probe_int: ^proc(x: ^Char) -> Int); + assert(cb^(nil) = 42) end. |
