==== tests/cases/compiler/maxConstraints.ts (2 errors) ==== interface Comparable { compareTo(other: T): number; } interface Comparer { >(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); ~ !!! Argument of type 'number' is not assignable to parameter of type 'Comparable'.