TypeScript/tests/baselines/reference/nominalSubtypeCheckOfTypeParameter2.types

56 lines
2.3 KiB
Plaintext
Raw Normal View History

2014-08-15 23:33:16 +02:00
=== tests/cases/conformance/types/typeRelationships/recursiveTypes/nominalSubtypeCheckOfTypeParameter2.ts ===
interface B<T> {
2015-04-13 23:01:57 +02:00
>B : B<T>, Symbol(B, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 0, 0))
>T : T, Symbol(T, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 0, 12))
2014-08-15 23:33:16 +02:00
bar: T;
2015-04-13 23:01:57 +02:00
>bar : T, Symbol(bar, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 0, 16))
>T : T, Symbol(T, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 0, 12))
2014-08-15 23:33:16 +02:00
}
// ok
interface A<T> extends B<T> {
2015-04-13 23:01:57 +02:00
>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))
2014-08-15 23:33:16 +02:00
foo: T;
2015-04-13 23:01:57 +02:00
>foo : T, Symbol(foo, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 5, 29))
>T : T, Symbol(T, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 5, 12))
2014-08-15 23:33:16 +02:00
}
// ok
interface A2<T> extends B<B<string>> {
2015-04-13 23:01:57 +02:00
>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))
2014-08-15 23:33:16 +02:00
baz: T;
2015-04-13 23:01:57 +02:00
>baz : T, Symbol(baz, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 10, 38))
>T : T, Symbol(T, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 10, 13))
2014-08-15 23:33:16 +02:00
}
interface C<T> {
2015-04-13 23:01:57 +02:00
>C : C<T>, Symbol(C, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 12, 1))
>T : T, Symbol(T, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 14, 12))
2014-08-15 23:33:16 +02:00
bam: T;
2015-04-13 23:01:57 +02:00
>bam : T, Symbol(bam, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 14, 16))
>T : T, Symbol(T, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 14, 12))
2014-08-15 23:33:16 +02:00
}
// ok
interface A3<T> extends B<C<T>> {
2015-04-13 23:01:57 +02:00
>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))
2014-08-15 23:33:16 +02:00
bing: T;
2015-04-13 23:01:57 +02:00
>bing : T, Symbol(bing, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 19, 33))
>T : T, Symbol(T, Decl(nominalSubtypeCheckOfTypeParameter2.ts, 19, 13))
2014-08-15 23:33:16 +02:00
}