2014-07-13 01:04:16 +02:00
|
|
|
//// [contextualSignatureInstantiationWithTypeParameterConstrainedToOuterTypeParameter.ts]
|
|
|
|
function f<T>() {
|
|
|
|
function g<U extends T>(u: U): U { return null }
|
|
|
|
return g;
|
|
|
|
}
|
|
|
|
var h: <V, W>(v: V, func: (v: V) => W) => W;
|
|
|
|
var x = h("", f<string>()); // Call should succeed and x should be string. All type parameters should be instantiated to string
|
|
|
|
|
|
|
|
//// [contextualSignatureInstantiationWithTypeParameterConstrainedToOuterTypeParameter.js]
|
|
|
|
function f() {
|
2015-03-09 02:23:23 +01:00
|
|
|
function g(u) {
|
|
|
|
return null;
|
|
|
|
}
|
2014-07-13 01:04:16 +02:00
|
|
|
return g;
|
|
|
|
}
|
|
|
|
var h;
|
2014-08-15 23:32:08 +02:00
|
|
|
var x = h("", f()); // Call should succeed and x should be string. All type parameters should be instantiated to string
|