2015-03-14 02:22:30 +01:00
|
|
|
//// [typeParameterFixingWithContextSensitiveArguments2.ts]
|
|
|
|
function f<T, U>(y: T, y1: U, p: (z: U) => T, p1: (x: T) => U): [T, U] { return [y, p1(y)]; }
|
|
|
|
interface A { a: A; }
|
|
|
|
interface B extends A { b; }
|
|
|
|
|
|
|
|
var a: A, b: B;
|
|
|
|
|
|
|
|
var d = f(a, b, x => x, x => x); // A => A not assignable to A => B
|
|
|
|
|
|
|
|
//// [typeParameterFixingWithContextSensitiveArguments2.js]
|
2015-03-26 21:46:35 +01:00
|
|
|
function f(y, y1, p, p1) { return [y, p1(y)]; }
|
2015-03-14 02:22:30 +01:00
|
|
|
var a, b;
|
2015-03-26 21:46:35 +01:00
|
|
|
var d = f(a, b, function (x) { return x; }, function (x) { return x; }); // A => A not assignable to A => B
|