56 lines
2.3 KiB
Plaintext
56 lines
2.3 KiB
Plaintext
=== tests/cases/conformance/types/typeRelationships/recursiveTypes/nominalSubtypeCheckOfTypeParameter2.ts ===
|
|
interface B<T> {
|
|
>B : B<T>, Symbol(B, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 0, 0))
|
|
>T : T, Symbol(T, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 0, 12))
|
|
|
|
bar: T;
|
|
>bar : T, Symbol(bar, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 0, 16))
|
|
>T : T, Symbol(T, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 0, 12))
|
|
}
|
|
|
|
// ok
|
|
interface A<T> extends B<T> {
|
|
>A : A<T>, Symbol(A, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 2, 1))
|
|
>T : T, Symbol(T, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 5, 12))
|
|
>B : B<T>, Symbol(B, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 0, 0))
|
|
>T : T, Symbol(T, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 5, 12))
|
|
|
|
foo: T;
|
|
>foo : T, Symbol(foo, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 5, 29))
|
|
>T : T, Symbol(T, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 5, 12))
|
|
}
|
|
|
|
// ok
|
|
interface A2<T> extends B<B<string>> {
|
|
>A2 : A2<T>, Symbol(A2, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 7, 1))
|
|
>T : T, Symbol(T, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 10, 13))
|
|
>B : B<T>, Symbol(B, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 0, 0))
|
|
>B : B<T>, Symbol(B, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 0, 0))
|
|
|
|
baz: T;
|
|
>baz : T, Symbol(baz, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 10, 38))
|
|
>T : T, Symbol(T, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 10, 13))
|
|
}
|
|
|
|
interface C<T> {
|
|
>C : C<T>, Symbol(C, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 12, 1))
|
|
>T : T, Symbol(T, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 14, 12))
|
|
|
|
bam: T;
|
|
>bam : T, Symbol(bam, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 14, 16))
|
|
>T : T, Symbol(T, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 14, 12))
|
|
}
|
|
|
|
// ok
|
|
interface A3<T> extends B<C<T>> {
|
|
>A3 : A3<T>, Symbol(A3, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 16, 1))
|
|
>T : T, Symbol(T, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 19, 13))
|
|
>B : B<T>, Symbol(B, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 0, 0))
|
|
>C : C<T>, Symbol(C, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 12, 1))
|
|
>T : T, Symbol(T, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 19, 13))
|
|
|
|
bing: T;
|
|
>bing : T, Symbol(bing, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 19, 33))
|
|
>T : T, Symbol(T, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 19, 13))
|
|
}
|