diff options
| author | Cliff Click <cliffc@acm.org> | 2026-10-25 09:51:44 -0700 |
|---|---|---|
| committer | Cliff Click <cliffc@acm.org> | 2026-10-25 09:51:44 -0700 |
| commit | 4051ce7cd26314f01dc8c0237899a742e0ab2084 (patch) | |
| tree | 29cb9b47e0461c34be1797ac36dd31e8f0b10c09 /skills | |
| parent | 5cfb046c8306a81ec40be82a59015f16f654fa93 (diff) | |
| download | Simple-4051ce7cd26314f01dc8c0237899a742e0ab2084.tar.gz Simple-4051ce7cd26314f01dc8c0237899a742e0ab2084.zip | |
Fix ++x in methods
Fix ideaj setups
Diffstat (limited to 'skills')
| -rw-r--r-- | skills/chapter25-codex-notes.md | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/skills/chapter25-codex-notes.md b/skills/chapter25-codex-notes.md index 22c832f6..0e5a1957 100644 --- a/skills/chapter25-codex-notes.md +++ b/skills/chapter25-codex-notes.md @@ -11,7 +11,7 @@ The [completed split](../docs/chapter-split.md) maps the former combined 24/25 to 24a/24b (SCCP), 25 (incomplete types), 26 (construction), 27 (escape), and 28a/28b (modules/separate compilation). The old combined snapshots are retired. Earlier entries below retain historical chapter numbers and test names; old -Chapter 25 implementation references describe the lineage now in 25–28b, with +Chapter 25 implementation references describe the lineage now in 25–28b, with the complete implementation in 28b. Use current paths and teaching boundaries. The construction/escape border remains open to semantic review. Future work belongs in the [roadmap](../docs/roadmap.md), including the separate @@ -65,6 +65,12 @@ For shared viewer work, read [the graph viewer notes](graph-viewer-codex-notes.m ## Mutability and chapter boundaries +- Prefix updates must share ordinary name resolution: a method's bare field + name denotes memory, while constructor fields may still be local SSA values. + Do not update the declaration's scope slot before resolving that distinction. + Keep the returned value alive across Store folding; a narrow Store can remove + a conversion it does not need, while the prefix expression still needs it. + - Separate compilation retains the Modules parser's constructor local values and escape fixes while adding saved IR and import ownership. Save owned nested struct class declarations even when graph types omit them: callers need the |
