TypeScript/tests/baselines/reference/constraintReferencingTypeParameterFromSameTypeParameterList.js

33 lines
671 B
TypeScript

//// [constraintReferencingTypeParameterFromSameTypeParameterList.ts]
// used to be valid, now an error to do this
interface IComparable<T> {
}
function f<T, I extends IComparable<T>>() {
}
interface I1<T, U extends I1<T, any>> { // Error, any does not satisfy the constraint I1<T, any>
}
interface I2<T, U extends T> {
}
interface I4<T, U extends () => T> {
}
// No error
interface I3<T, U extends string> {
method1<X, Y extends T>();
}
function foo<T, U extends <V extends T>(v: V) => void>() {
}
//// [constraintReferencingTypeParameterFromSameTypeParameterList.js]
// used to be valid, now an error to do this
function f() {
}
function foo() {
}