19 lines
No EOL
788 B
Text
19 lines
No EOL
788 B
Text
==== tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithComplexConstraints.ts (1 errors) ====
|
|
interface A {
|
|
<T extends {
|
|
~~~~~~~~~~~
|
|
<S extends A>(x: T, y: S): void
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
}>(x: T, y: T): void
|
|
~~~~~~~
|
|
!!! Constraint of a type parameter cannot reference any type parameter from the same type parameter list.
|
|
}
|
|
|
|
interface B {
|
|
<U extends B>(x: U, y: U): void
|
|
}
|
|
|
|
// ok, not considered identical because the steps of contextual signature instantiation create fresh type parameters
|
|
function foo(x: A);
|
|
function foo(x: B); // error after constraints above made illegal
|
|
function foo(x: any) { } |