feat(lang): 0.S - a reference out of a read-only state is read-only (named so), a program's type named like the runtime's is refused (PadButton), tests for both, the migrate case covers lets; changeset

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Orkun ÇAKILKAYA 2026-09-25 16:17:03 +03:00
parent 02448e176c
commit c167ecc714
10 changed files with 13858 additions and 13042 deletions

View file

@ -0,0 +1,13 @@
# 0.S: a reference read out of a read-only state is read-only too
program StateAliasReadonly {
property Row { n: int = 0 }
state Table { rows: []Row = new []Row }
function bump(t: Table) -> void {
let r = t.rows[0]
r.n = 1
}
entry (t: mut Table) {
push(t.rows, new Row)
bump(t)
}
}