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:
parent
02448e176c
commit
c167ecc714
10 changed files with 13858 additions and 13042 deletions
13
examples/rejected/state_alias_readonly.ludic
Normal file
13
examples/rejected/state_alias_readonly.ludic
Normal 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)
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue