==== tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithObjectTypeArgsAndConstraints5.ts (3 errors) ==== // Generic call with constraints infering type parameter from object member properties class C { x: string; } class D { x: string; y: string; } function foo(t: T, t2: U) { ~~~~~~~~~~~ !!! Constraint of a type parameter cannot reference any type parameter from the same type parameter list. return (x: T) => t2; } var c: C; var d: D; var r2 = foo(d, c); // the constraints are self-referencing, no downstream error var r9 = foo(() => 1, () => { }); // the constraints are self-referencing, no downstream error function other() { ~~~~~~~~~~~ !!! Constraint of a type parameter cannot reference any type parameter from the same type parameter list. var r5 = foo(c, d); // error ~ !!! Argument of type 'C' is not assignable to parameter of type 'T'. }