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
|
=== tests/cases/conformance/types/typeParameters/recurringTypeParamForContainerOfBase01.ts ===
interface BoxOfFoo<T extends Foo<T>> {
>BoxOfFoo : Symbol(BoxOfFoo, Decl(recurringTypeParamForContainerOfBase01.ts, 0, 0))
>T : Symbol(T, Decl(recurringTypeParamForContainerOfBase01.ts, 1, 19))
>Foo : Symbol(Foo, Decl(recurringTypeParamForContainerOfBase01.ts, 3, 1))
>T : Symbol(T, Decl(recurringTypeParamForContainerOfBase01.ts, 1, 19))
item: T
>item : Symbol(BoxOfFoo.item, Decl(recurringTypeParamForContainerOfBase01.ts, 1, 38))
>T : Symbol(T, Decl(recurringTypeParamForContainerOfBase01.ts, 1, 19))
}
interface Foo<T extends Foo<T>> {
>Foo : Symbol(Foo, Decl(recurringTypeParamForContainerOfBase01.ts, 3, 1))
>T : Symbol(T, Decl(recurringTypeParamForContainerOfBase01.ts, 5, 14))
>Foo : Symbol(Foo, Decl(recurringTypeParamForContainerOfBase01.ts, 3, 1))
>T : Symbol(T, Decl(recurringTypeParamForContainerOfBase01.ts, 5, 14))
self: T;
>self : Symbol(Foo.self, Decl(recurringTypeParamForContainerOfBase01.ts, 5, 33))
>T : Symbol(T, Decl(recurringTypeParamForContainerOfBase01.ts, 5, 14))
}
interface Bar<T extends Bar<T>> extends Foo<T> {
>Bar : Symbol(Bar, Decl(recurringTypeParamForContainerOfBase01.ts, 7, 1))
>T : Symbol(T, Decl(recurringTypeParamForContainerOfBase01.ts, 9, 14))
>Bar : Symbol(Bar, Decl(recurringTypeParamForContainerOfBase01.ts, 7, 1))
>T : Symbol(T, Decl(recurringTypeParamForContainerOfBase01.ts, 9, 14))
>Foo : Symbol(Foo, Decl(recurringTypeParamForContainerOfBase01.ts, 3, 1))
>T : Symbol(T, Decl(recurringTypeParamForContainerOfBase01.ts, 9, 14))
other: BoxOfFoo<T>;
>other : Symbol(Bar.other, Decl(recurringTypeParamForContainerOfBase01.ts, 9, 48))
>BoxOfFoo : Symbol(BoxOfFoo, Decl(recurringTypeParamForContainerOfBase01.ts, 0, 0))
>T : Symbol(T, Decl(recurringTypeParamForContainerOfBase01.ts, 9, 14))
}
|