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 36 37 38 39 40 41 42 43 44
|
=== tests/cases/compiler/excessPropertyCheckWithSpread.ts ===
declare function f({ a: number }): void
>f : ({ a: number }: { a: any; }) => void
>a : any
>number : any
interface I {
readonly n: number;
>n : number
}
declare let i: I;
>i : I
f({ a: 1, ...i });
>f({ a: 1, ...i }) : void
>f : ({ a: number }: { a: any; }) => void
>{ a: 1, ...i } : { n: number; a: number; }
>a : number
>1 : 1
>i : I
interface R {
opt?: number
>opt : number
}
interface L {
opt: string
>opt : string
}
declare let l: L;
>l : L
declare let r: R;
>r : R
f({ a: 1, ...l, ...r });
>f({ a: 1, ...l, ...r }) : void
>f : ({ a: number }: { a: any; }) => void
>{ a: 1, ...l, ...r } : { opt: string | number; a: number; }
>a : number
>1 : 1
>l : L
>r : R
|