Skip to main content
Journey Uncommon Logo
JourneyUncommon
hardTypeScriptexcess property checksSingle-choice MCQ

Excess property checks fire on a 'fresh' literal but the freshness is lost the moment the literal is widened through a type-parameter inference site. Given the generic call below, why does the extra property `z` NOT trigger an excess-property error?

declare function id<T>(x: T): T; const r = id({ x: 1, y: 2, z: 3 }); // no excess-property error // r: { x: number; y: number; z: number }