1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
=== tests/cases/compiler/excessPropertyCheckingIntersectionWithConditional.ts ===
type Foo<K> = K extends unknown ? { a: number } : unknown
>Foo : Foo<K>
>a : number
const createDefaultExample = <K,>(x: K): Foo<K> & { x: K; } => {
>createDefaultExample : <K>(x: K) => Foo<K> & { x: K; }
><K,>(x: K): Foo<K> & { x: K; } => { return { a: 1, x: x }; // okay in TS 4.7.4, error in TS 4.8.2} : <K>(x: K) => Foo<K> & { x: K; }
>x : K
>x : K
return { a: 1, x: x }; // okay in TS 4.7.4, error in TS 4.8.2
>{ a: 1, x: x } : { a: number; x: K; }
>a : number
>1 : 1
>x : K
>x : K
}
|