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
|
=== tests/cases/compiler/typeParameterFixingWithConstraints.ts ===
interface IBar {
[barId: string]: any;
>barId : string
}
interface IFoo {
foo<TBar extends IBar>(bar: TBar, bar1: (bar: TBar) => TBar, bar2: (bar: TBar) => TBar): TBar;
>foo : <TBar extends IBar>(bar: TBar, bar1: (bar: TBar) => TBar, bar2: (bar: TBar) => TBar) => TBar
>bar : TBar
>bar1 : (bar: TBar) => TBar
>bar : TBar
>bar2 : (bar: TBar) => TBar
>bar : TBar
}
var foo: IFoo;
>foo : IFoo
foo.foo({ bar: null }, bar => null, bar => null);
>foo.foo({ bar: null }, bar => null, bar => null) : { bar: any; }
>foo.foo : <TBar extends IBar>(bar: TBar, bar1: (bar: TBar) => TBar, bar2: (bar: TBar) => TBar) => TBar
>foo : IFoo
>foo : <TBar extends IBar>(bar: TBar, bar1: (bar: TBar) => TBar, bar2: (bar: TBar) => TBar) => TBar
>{ bar: null } : { bar: null; }
>bar : null
>null : null
>bar => null : (bar: { bar: any; }) => any
>bar : { bar: any; }
>null : null
>bar => null : (bar: { bar: any; }) => any
>bar : { bar: any; }
>null : null
|