TypeScript/tests/baselines/reference/recursiveTypeParameterReferenceError2.types

40 lines
1.9 KiB
Text

=== tests/cases/compiler/recursiveTypeParameterReferenceError2.ts ===
interface List<T> {
>List : List<T>, Symbol(List,Decl(recursiveTypeParameterReferenceError2.ts,0,0))
>T : T, Symbol(T,Decl(recursiveTypeParameterReferenceError2.ts,0,15))
data: T;
>data : T, Symbol(data,Decl(recursiveTypeParameterReferenceError2.ts,0,19))
>T : T, Symbol(T,Decl(recursiveTypeParameterReferenceError2.ts,0,15))
next: List<T>;
>next : List<T>, Symbol(next,Decl(recursiveTypeParameterReferenceError2.ts,1,12))
>List : List<T>, Symbol(List,Decl(recursiveTypeParameterReferenceError2.ts,0,0))
>T : T, Symbol(T,Decl(recursiveTypeParameterReferenceError2.ts,0,15))
owner: List<List<T>>; // Error, recursive reference with wrapped T
>owner : List<List<T>>, Symbol(owner,Decl(recursiveTypeParameterReferenceError2.ts,2,18))
>List : List<T>, Symbol(List,Decl(recursiveTypeParameterReferenceError2.ts,0,0))
>List : List<T>, Symbol(List,Decl(recursiveTypeParameterReferenceError2.ts,0,0))
>T : T, Symbol(T,Decl(recursiveTypeParameterReferenceError2.ts,0,15))
}
interface List2<T> {
>List2 : List2<T>, Symbol(List2,Decl(recursiveTypeParameterReferenceError2.ts,4,1))
>T : T, Symbol(T,Decl(recursiveTypeParameterReferenceError2.ts,6,16))
data: T;
>data : T, Symbol(data,Decl(recursiveTypeParameterReferenceError2.ts,6,20))
>T : T, Symbol(T,Decl(recursiveTypeParameterReferenceError2.ts,6,16))
next: List2<T>;
>next : List2<T>, Symbol(next,Decl(recursiveTypeParameterReferenceError2.ts,7,12))
>List2 : List2<T>, Symbol(List2,Decl(recursiveTypeParameterReferenceError2.ts,4,1))
>T : T, Symbol(T,Decl(recursiveTypeParameterReferenceError2.ts,6,16))
owner: List2<List2<string>>; // Ok
>owner : List2<List2<string>>, Symbol(owner,Decl(recursiveTypeParameterReferenceError2.ts,8,19))
>List2 : List2<T>, Symbol(List2,Decl(recursiveTypeParameterReferenceError2.ts,4,1))
>List2 : List2<T>, Symbol(List2,Decl(recursiveTypeParameterReferenceError2.ts,4,1))
}