Fix the two known limits: adding map keys while looping over the map is a runtime error; temporaries held by an expression are freed when try / or-blocks leave early. err usable after or, inner err shadows outer.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Nexoniarz 2026-10-09 01:26:53 +02:00
commit f9838dfe03
9 changed files with 228 additions and 17 deletions

12
tests/run/early_exit.out Normal file
View file

@ -0,0 +1,12 @@
xxx1okxxx2 | ["yya", "yyb", "ok"] | Pair(a: "zza", b: "ok")
ww1ok2 | okok! | uuuu?ok
{"kk": "kk1", "kkx": "ok"}
failed at 1 | ["-"] | Pair(a: "-", b: "-")
failed at 1 | failed at 1 | failed at 1
{"-": "-"}
index: failed
0 qqaokqqb
2 qqaokqqb
before break: 0 qqaokqqb
{"a": 1, "c": 3}
{"a": 10, "c": 30}