diff options
| author | 2026-10-14 09:07:12 +0000 | |
|---|---|---|
| committer | 2026-10-14 09:07:12 +0000 | |
| commit | fd622c51be670bba2acf4b50c548acedbc8bb263 (patch) | |
| tree | 6d55aaa418c82efe58a240143273c15cc281917c /tests/icon/reject | |
| parent | PROPOSALS.md: features worth adding to zc (diff) | |
todo: one sorted list of open work; library suggestions without naming libraries
TODO.md ticks the items verified done (namespaces, actor and icon libraries
and their coverage, the genome embed, the bootstrap ownership limits, the
docs and fixtures sweep) and lists everything still open, including the
newly requested language features, sorted easiest first.
the compiler no longer names actor: file libraries for suggestions come from
src/lib/modules.txt, and lib.name before its include reports the missing
include. icon gains fixtures for reading globals while stepping and for
begin_function on a non-function, and the suite checks that nothing the
compiler reads by default mentions actors. bf.zc, the web sample and std's
capture example use qualified runtime names; LEARN.md uses build/bin paths.
Diffstat (limited to 'tests/icon/reject')
| -rw-r--r-- | tests/icon/reject/begin_unknown_function.expected | 1 | ||||
| -rw-r--r-- | tests/icon/reject/begin_unknown_function.zc | 11 |
2 files changed, 12 insertions, 0 deletions
diff --git a/tests/icon/reject/begin_unknown_function.expected b/tests/icon/reject/begin_unknown_function.expected new file mode 100644 index 0000000..1f338fc --- /dev/null +++ b/tests/icon/reject/begin_unknown_function.expected @@ -0,0 +1 @@ +1 4 0 diff --git a/tests/icon/reject/begin_unknown_function.zc b/tests/icon/reject/begin_unknown_function.zc new file mode 100644 index 0000000..6a8e5b3 --- /dev/null +++ b/tests/icon/reject/begin_unknown_function.zc @@ -0,0 +1,11 @@ +include rt; +include run; +include icon; +fn main() { + // an address that is no function has no tokens to step: no frame, error status 4 + let frame = icon.begin_function(12345); + rt.put_n(frame == 0); rt.put_c(' '); rt.put_n(icon.error()); rt.put_c(' '); + // stepping or reading a missing frame does nothing + rt.put_n(icon.step(0)); rt.put_c(10); + return 0; +} |
