1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
=== tests/cases/compiler/spreadExpressionContextualType.ts ===
// Repro from #43966
interface Orange {
name: string;
>name : string
}
interface Apple {
name: string;
>name : string
}
function test<T extends Apple | Orange>(item: T): T {
>test : <T extends Orange | Apple>(item: T) => T
>item : T
return { ...item };
>{ ...item } : T
>item : T
}
function test2<T extends Apple | Orange>(item: T): T {
>test2 : <T extends Orange | Apple>(item: T) => T
>item : T
const x = { ...item };
>x : T
>{ ...item } : T
>item : T
return x;
>x : T
}
|