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