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
|
=== tests/cases/compiler/genericCallSpecializedToTypeArg.ts ===
function dupe<T>(x: T): T {
>dupe : Symbol(dupe, Decl(genericCallSpecializedToTypeArg.ts, 0, 0))
>T : Symbol(T, Decl(genericCallSpecializedToTypeArg.ts, 0, 14))
>x : Symbol(x, Decl(genericCallSpecializedToTypeArg.ts, 0, 17))
>T : Symbol(T, Decl(genericCallSpecializedToTypeArg.ts, 0, 14))
>T : Symbol(T, Decl(genericCallSpecializedToTypeArg.ts, 0, 14))
return x;
>x : Symbol(x, Decl(genericCallSpecializedToTypeArg.ts, 0, 17))
}
function dupeAndGetDist<U>(x: U): U {
>dupeAndGetDist : Symbol(dupeAndGetDist, Decl(genericCallSpecializedToTypeArg.ts, 2, 1))
>U : Symbol(U, Decl(genericCallSpecializedToTypeArg.ts, 3, 24))
>x : Symbol(x, Decl(genericCallSpecializedToTypeArg.ts, 3, 27))
>U : Symbol(U, Decl(genericCallSpecializedToTypeArg.ts, 3, 24))
>U : Symbol(U, Decl(genericCallSpecializedToTypeArg.ts, 3, 24))
var y = dupe(x); //<-- dupe has incorrect type here
>y : Symbol(y, Decl(genericCallSpecializedToTypeArg.ts, 4, 5))
>dupe : Symbol(dupe, Decl(genericCallSpecializedToTypeArg.ts, 0, 0))
>x : Symbol(x, Decl(genericCallSpecializedToTypeArg.ts, 3, 27))
y.getDist(); //<-- this requires a missing constraint, but it's not caught
>y : Symbol(y, Decl(genericCallSpecializedToTypeArg.ts, 4, 5))
return y;
>y : Symbol(y, Decl(genericCallSpecializedToTypeArg.ts, 4, 5))
}
|