55 lines
2.7 KiB
Plaintext
55 lines
2.7 KiB
Plaintext
=== tests/cases/compiler/recursiveTypeParameterReferenceError1.ts ===
|
|
class X<T> { }
|
|
>X : X<T>, Symbol(X, Decl(recursiveTypeParameterReferenceError1.ts, 0, 0))
|
|
>T : T, Symbol(T, Decl(recursiveTypeParameterReferenceError1.ts, 0, 8))
|
|
|
|
interface Foo<T> {
|
|
>Foo : Foo<T>, Symbol(Foo, Decl(recursiveTypeParameterReferenceError1.ts, 0, 14))
|
|
>T : T, Symbol(T, Decl(recursiveTypeParameterReferenceError1.ts, 1, 14))
|
|
|
|
z: Foo<X<T>>; // error
|
|
>z : Foo<X<T>>, Symbol(z, Decl(recursiveTypeParameterReferenceError1.ts, 1, 18))
|
|
>Foo : Foo<T>, Symbol(Foo, Decl(recursiveTypeParameterReferenceError1.ts, 0, 14))
|
|
>X : X<T>, Symbol(X, Decl(recursiveTypeParameterReferenceError1.ts, 0, 0))
|
|
>T : T, Symbol(T, Decl(recursiveTypeParameterReferenceError1.ts, 1, 14))
|
|
}
|
|
var f: Foo<number>;
|
|
>f : Foo<number>, Symbol(f, Decl(recursiveTypeParameterReferenceError1.ts, 4, 3))
|
|
>Foo : Foo<T>, Symbol(Foo, Decl(recursiveTypeParameterReferenceError1.ts, 0, 14))
|
|
|
|
var r = f.z;
|
|
>r : Foo<X<number>>, Symbol(r, Decl(recursiveTypeParameterReferenceError1.ts, 5, 3))
|
|
>f.z : Foo<X<number>>, Symbol(Foo.z, Decl(recursiveTypeParameterReferenceError1.ts, 1, 18))
|
|
>f : Foo<number>, Symbol(f, Decl(recursiveTypeParameterReferenceError1.ts, 4, 3))
|
|
>z : Foo<X<number>>, Symbol(Foo.z, Decl(recursiveTypeParameterReferenceError1.ts, 1, 18))
|
|
|
|
|
|
class C2<T> {
|
|
>C2 : C2<T>, Symbol(C2, Decl(recursiveTypeParameterReferenceError1.ts, 5, 12))
|
|
>T : T, Symbol(T, Decl(recursiveTypeParameterReferenceError1.ts, 8, 9))
|
|
|
|
x: T;
|
|
>x : T, Symbol(x, Decl(recursiveTypeParameterReferenceError1.ts, 8, 13))
|
|
>T : T, Symbol(T, Decl(recursiveTypeParameterReferenceError1.ts, 8, 9))
|
|
}
|
|
interface Foo2<T> {
|
|
>Foo2 : Foo2<T>, Symbol(Foo2, Decl(recursiveTypeParameterReferenceError1.ts, 10, 1))
|
|
>T : T, Symbol(T, Decl(recursiveTypeParameterReferenceError1.ts, 11, 15))
|
|
|
|
ofC4: C2<{ x: T }> // ok
|
|
>ofC4 : C2<{ x: T; }>, Symbol(ofC4, Decl(recursiveTypeParameterReferenceError1.ts, 11, 19))
|
|
>C2 : C2<T>, Symbol(C2, Decl(recursiveTypeParameterReferenceError1.ts, 5, 12))
|
|
>x : T, Symbol(x, Decl(recursiveTypeParameterReferenceError1.ts, 12, 14))
|
|
>T : T, Symbol(T, Decl(recursiveTypeParameterReferenceError1.ts, 11, 15))
|
|
}
|
|
var f2: Foo2<number>;
|
|
>f2 : Foo2<number>, Symbol(f2, Decl(recursiveTypeParameterReferenceError1.ts, 14, 3))
|
|
>Foo2 : Foo2<T>, Symbol(Foo2, Decl(recursiveTypeParameterReferenceError1.ts, 10, 1))
|
|
|
|
var r2 = f2.ofC4;
|
|
>r2 : C2<{ x: number; }>, Symbol(r2, Decl(recursiveTypeParameterReferenceError1.ts, 15, 3))
|
|
>f2.ofC4 : C2<{ x: number; }>, Symbol(Foo2.ofC4, Decl(recursiveTypeParameterReferenceError1.ts, 11, 19))
|
|
>f2 : Foo2<number>, Symbol(f2, Decl(recursiveTypeParameterReferenceError1.ts, 14, 3))
|
|
>ofC4 : C2<{ x: number; }>, Symbol(Foo2.ofC4, Decl(recursiveTypeParameterReferenceError1.ts, 11, 19))
|
|
|