Commit Graph
2 Commits
Author SHA1 Message Date
Chris Tate 89e2daa636 Keep borrowed fallbacks alive until their consumer and address review feedback 2026-10-25 19:42:59 -05:00
Malte UblandClaude Opus 5.5 7dfe5e7033 Keep the borrowed dispatch path through the inherited-method fallback
The keyed read of a record of functions is now `r[k] ?? inherited(r, k)`.
A pass-through `??` over a pointer keyed read whose stored values are never
unit lends the hit like the plain read: canBorrowReceiver and
ReferenceWrites.readKeys see through it, a default that only returns
interned function values or undefined needs no owner (so `const h = r[k]`
still aliases the entry), and a bound default is owned by a statement-frame
slot whose release skips the call while it stays empty. The miss helper
stays out of line, and the impls avoid code that would make every indirect
call look like a heap writer. An emission test pins that function-table
dispatch neither boxes, retains nor looks up through the runtime.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 16:28:16 -07:00