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
|
=== tests/cases/compiler/genericTypeWithNonGenericBaseMisMatch.ts ===
interface I {
f: (a: { a: number }) => void
>f : (a: { a: number; }) => void
>a : { a: number; }
>a : number
}
class X<T extends { a: string }> implements I {
>X : X<T>
>a : string
f(a: T): void { }
>f : (a: T) => void
>a : T
}
var x = new X<{ a: string }>();
>x : X<{ a: string; }>
>new X<{ a: string }>() : X<{ a: string; }>
>X : typeof X
>a : string
var i: I = x; // Should not be allowed -- type of 'f' is incompatible with 'I'
>i : I
>x : X<{ a: string; }>
|