TypeScript/tests/baselines/reference/typeParameterAsTypeArgument.js
2014-08-14 06:21:30 -07:00

42 lines
781 B
JavaScript

//// [typeParameterAsTypeArgument.ts]
// These are all errors because type parameters cannot reference other type parameters from the same list
function foo<T, U>(x: T, y: U) {
foo<U, U>(y, y);
return new C<U,T>();
}
class C<T, U> {
x: T;
}
interface I<T, U> {
x: C<U, T>;
}
//function foo<T, U extends T>(x: T, y: U) {
// foo<U, U>(y, y);
// return new C<U, T>();
//}
//class C<T extends U, U> {
// x: T;
//}
//interface I<T, U extends T> {
// x: C<U, T>;
//}
//// [typeParameterAsTypeArgument.js]
// These are all errors because type parameters cannot reference other type parameters from the same list
function foo(x, y) {
foo(y, y);
return new C();
}
var C = (function () {
function C() {
}
return C;
})();