2014-07-13 01:04:16 +02:00
|
|
|
==== tests/cases/compiler/maxConstraints.ts (2 errors) ====
|
|
|
|
interface Comparable<T> {
|
|
|
|
compareTo(other: T): number;
|
|
|
|
}
|
|
|
|
interface Comparer {
|
|
|
|
<T extends Comparable<T>>(x: T, y: T): T;
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
!!! Constraint of a type parameter cannot reference any type parameter from the same type parameter list.
|
|
|
|
}
|
|
|
|
var max2: Comparer = (x, y) => { return (x.compareTo(y) > 0) ? x : y };
|
|
|
|
var maxResult = max2(1, 2);
|
2014-07-25 02:00:03 +02:00
|
|
|
~
|
2014-07-25 04:39:50 +02:00
|
|
|
!!! Argument of type 'number' is not assignable to parameter of type 'Comparable<unknown>'.
|