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
|
=== tests/cases/compiler/instantiatedBaseTypeConstraints.ts ===
interface Foo<T extends Foo<T, C>, C> {
>Foo : Symbol(Foo, Decl(instantiatedBaseTypeConstraints.ts, 0, 0))
>T : Symbol(T, Decl(instantiatedBaseTypeConstraints.ts, 0, 14))
>Foo : Symbol(Foo, Decl(instantiatedBaseTypeConstraints.ts, 0, 0))
>T : Symbol(T, Decl(instantiatedBaseTypeConstraints.ts, 0, 14))
>C : Symbol(C, Decl(instantiatedBaseTypeConstraints.ts, 0, 34))
>C : Symbol(C, Decl(instantiatedBaseTypeConstraints.ts, 0, 34))
foo(bar: C): void;
>foo : Symbol(Foo.foo, Decl(instantiatedBaseTypeConstraints.ts, 0, 39))
>bar : Symbol(bar, Decl(instantiatedBaseTypeConstraints.ts, 1, 6))
>C : Symbol(C, Decl(instantiatedBaseTypeConstraints.ts, 0, 34))
}
class Bar implements Foo<Bar, string> {
>Bar : Symbol(Bar, Decl(instantiatedBaseTypeConstraints.ts, 2, 1))
>Foo : Symbol(Foo, Decl(instantiatedBaseTypeConstraints.ts, 0, 0))
>Bar : Symbol(Bar, Decl(instantiatedBaseTypeConstraints.ts, 2, 1))
foo(bar: string): void {
>foo : Symbol(Bar.foo, Decl(instantiatedBaseTypeConstraints.ts, 4, 39))
>bar : Symbol(bar, Decl(instantiatedBaseTypeConstraints.ts, 5, 6))
}
}
|