TypeScript/tests/baselines/reference/nominalSubtypeCheckOfTypeParameter2.types
2015-04-13 14:29:37 -07:00

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))
}