Files
scriptc/tests/corpus/checked-record-constructor.ts
Chris Tate 2069684b40 Expand static Effect support across common APIs (#598)
* Expand static Effect support across common APIs

* Preserve compiler parity across expanded Effect patterns

* Fix compiler regressions exposed by Effect coverage

* Bound shared type conversion traversal

* Clarify conversion contracts and tidy fixtures

* Run every Effect fixture in CI shards

* Preserve inferred array assignments in concurrent Effect programs

* Record inferred array fixture compiler ordering
2026-10-01 02:49:31 -05:00

10 lines
574 B
TypeScript

class Item { value = 42; }
const key = Symbol.for("checked-record-constructor");
function check(value: unknown): { constructor: typeof Item; key: symbol } {
return value as { constructor: typeof Item; key: symbol };
}
const record = check({ constructor: Item, key });
console.log(new record.constructor().value, record.key === key);
try { new (check({ constructor: 3, key }).constructor)(); } catch (error) { console.log((error as Error).name); }
try { Symbol.keyFor(check({ constructor: Item, key: "wrong" }).key); } catch (error) { console.log((error as Error).name); }