Files
scriptc/tests
Malte UblandClaude Opus 5.5 6ba4e6e52a Export merged record types into islands by reference
A merged generic record crossing INTO an island — typebox's
`Type.Object(props)` with pi's `Omit<ProviderBase, "retries"> & Extras`
(compat-schema.ts) — was refused with SC8010 ("a native object would cross
as a copy"). exportedByReference, which decides that a native record crosses
as itself, requires the object flag, so an intersection of records fell
through its union test and was refused.

An intersection of the types exportedByReference names is now one of them: a
merged generic record is one native object, and the island reads the
program's own object rather than a copy of it, so an island call over
`props` and over `schema.properties` sees the same object Node does. An
intersection with a primitive arm (`string & {brand}`) stays a primitive and
is copied.

Test: tests/corpus/6900-node-island-merged-record-in (differential to Node,
plain and sanitized).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 19:14:37 -07:00
..
…