2014-07-13 01:04:16 +02:00
|
|
|
==== tests/cases/conformance/types/typeParameters/typeParameterLists/typeParameterDirectlyConstrainedToItself.ts (10 errors) ====
|
|
|
|
// all of the below should be errors
|
|
|
|
|
|
|
|
class C<T extends T> { }
|
|
|
|
~~~~~~~~~~~
|
2014-09-12 00:19:57 +02:00
|
|
|
!!! error TS2313: Constraint of a type parameter cannot reference any type parameter from the same type parameter list.
|
2014-07-13 01:04:16 +02:00
|
|
|
class C2<T, U extends U> { }
|
|
|
|
~~~~~~~~~~~
|
2014-09-12 00:19:57 +02:00
|
|
|
!!! error TS2313: Constraint of a type parameter cannot reference any type parameter from the same type parameter list.
|
2014-07-13 01:04:16 +02:00
|
|
|
|
|
|
|
interface I<T extends T> { }
|
|
|
|
~~~~~~~~~~~
|
2014-09-12 00:19:57 +02:00
|
|
|
!!! error TS2313: Constraint of a type parameter cannot reference any type parameter from the same type parameter list.
|
2014-07-13 01:04:16 +02:00
|
|
|
interface I2<T, U extends U> { }
|
|
|
|
~~~~~~~~~~~
|
2014-09-12 00:19:57 +02:00
|
|
|
!!! error TS2313: Constraint of a type parameter cannot reference any type parameter from the same type parameter list.
|
2014-07-13 01:04:16 +02:00
|
|
|
|
|
|
|
function f<T extends T>() { }
|
|
|
|
~~~~~~~~~~~
|
2014-09-12 00:19:57 +02:00
|
|
|
!!! error TS2313: Constraint of a type parameter cannot reference any type parameter from the same type parameter list.
|
2014-07-13 01:04:16 +02:00
|
|
|
function f2<T, U extends U>() { }
|
|
|
|
~~~~~~~~~~~
|
2014-09-12 00:19:57 +02:00
|
|
|
!!! error TS2313: Constraint of a type parameter cannot reference any type parameter from the same type parameter list.
|
2014-07-13 01:04:16 +02:00
|
|
|
|
|
|
|
var a: {
|
|
|
|
<T extends T>(): void;
|
|
|
|
~~~~~~~~~~~
|
2014-09-12 00:19:57 +02:00
|
|
|
!!! error TS2313: Constraint of a type parameter cannot reference any type parameter from the same type parameter list.
|
2014-07-13 01:04:16 +02:00
|
|
|
<T, U extends U>(): void;
|
|
|
|
~~~~~~~~~~~
|
2014-09-12 00:19:57 +02:00
|
|
|
!!! error TS2313: Constraint of a type parameter cannot reference any type parameter from the same type parameter list.
|
2014-07-13 01:04:16 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
var b = <T extends T>() => { }
|
|
|
|
~~~~~~~~~~~
|
2014-09-12 00:19:57 +02:00
|
|
|
!!! error TS2313: Constraint of a type parameter cannot reference any type parameter from the same type parameter list.
|
2014-07-13 01:04:16 +02:00
|
|
|
var b2 = <T, U extends U>() => { }
|
|
|
|
~~~~~~~~~~~
|
2014-09-12 00:19:57 +02:00
|
|
|
!!! error TS2313: Constraint of a type parameter cannot reference any type parameter from the same type parameter list.
|