1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
=== tests/cases/conformance/types/typeParameters/typeArgumentLists/wrappedAndRecursiveConstraints4.ts ===
class C<T extends { length: number }> {
>C : Symbol(C, Decl(wrappedAndRecursiveConstraints4.ts, 0, 0))
>T : Symbol(T, Decl(wrappedAndRecursiveConstraints4.ts, 0, 8))
>length : Symbol(length, Decl(wrappedAndRecursiveConstraints4.ts, 0, 19))
constructor(x: T) { }
>x : Symbol(x, Decl(wrappedAndRecursiveConstraints4.ts, 1, 16))
>T : Symbol(T, Decl(wrappedAndRecursiveConstraints4.ts, 0, 8))
foo<U extends T>(x: U) {
>foo : Symbol(C.foo, Decl(wrappedAndRecursiveConstraints4.ts, 1, 25))
>U : Symbol(U, Decl(wrappedAndRecursiveConstraints4.ts, 2, 8))
>T : Symbol(T, Decl(wrappedAndRecursiveConstraints4.ts, 0, 8))
>x : Symbol(x, Decl(wrappedAndRecursiveConstraints4.ts, 2, 21))
>U : Symbol(U, Decl(wrappedAndRecursiveConstraints4.ts, 2, 8))
function bar<V extends U>(x: V) {
>bar : Symbol(bar, Decl(wrappedAndRecursiveConstraints4.ts, 2, 28))
>V : Symbol(V, Decl(wrappedAndRecursiveConstraints4.ts, 3, 21))
>U : Symbol(U, Decl(wrappedAndRecursiveConstraints4.ts, 2, 8))
>x : Symbol(x, Decl(wrappedAndRecursiveConstraints4.ts, 3, 34))
>V : Symbol(V, Decl(wrappedAndRecursiveConstraints4.ts, 3, 21))
return x;
>x : Symbol(x, Decl(wrappedAndRecursiveConstraints4.ts, 3, 34))
}
return bar;
>bar : Symbol(bar, Decl(wrappedAndRecursiveConstraints4.ts, 2, 28))
}
}
var c = new C({ length: 2 });
>c : Symbol(c, Decl(wrappedAndRecursiveConstraints4.ts, 10, 3))
>C : Symbol(C, Decl(wrappedAndRecursiveConstraints4.ts, 0, 0))
>length : Symbol(length, Decl(wrappedAndRecursiveConstraints4.ts, 10, 15))
var r = c.foo('');
>r : Symbol(r, Decl(wrappedAndRecursiveConstraints4.ts, 11, 3))
>c.foo : Symbol(C.foo, Decl(wrappedAndRecursiveConstraints4.ts, 1, 25))
>c : Symbol(c, Decl(wrappedAndRecursiveConstraints4.ts, 10, 3))
>foo : Symbol(C.foo, Decl(wrappedAndRecursiveConstraints4.ts, 1, 25))
var r2 = r({ length: 3, charAt: (x: number) => { '' } }); // error
>r2 : Symbol(r2, Decl(wrappedAndRecursiveConstraints4.ts, 12, 3))
>r : Symbol(r, Decl(wrappedAndRecursiveConstraints4.ts, 11, 3))
>length : Symbol(length, Decl(wrappedAndRecursiveConstraints4.ts, 12, 12))
>charAt : Symbol(charAt, Decl(wrappedAndRecursiveConstraints4.ts, 12, 23))
>x : Symbol(x, Decl(wrappedAndRecursiveConstraints4.ts, 12, 33))
|