tests/cases/compiler/typeParameterArgumentEquivalence.ts(4,5): error TS2322: Type '(item: T) => boolean' is not assignable to type '(item: number) => boolean'.
  Types of parameters 'item' and 'item' are incompatible.
    Type 'number' is not assignable to type 'T'.
      'number' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint '{}'.
tests/cases/compiler/typeParameterArgumentEquivalence.ts(5,5): error TS2322: Type '(item: number) => boolean' is not assignable to type '(item: T) => boolean'.
  Types of parameters 'item' and 'item' are incompatible.
    Type 'T' is not assignable to type 'number'.


==== tests/cases/compiler/typeParameterArgumentEquivalence.ts (2 errors) ====
    function foo<T>() {
        var x: (item: number) => boolean;
        var y: (item: T) => boolean;
        x = y;  // Should be an error
        ~
!!! error TS2322: Type '(item: T) => boolean' is not assignable to type '(item: number) => boolean'.
!!! error TS2322:   Types of parameters 'item' and 'item' are incompatible.
!!! error TS2322:     Type 'number' is not assignable to type 'T'.
!!! error TS2322:       'number' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint '{}'.
        y = x;  // Shound be an error
        ~
!!! error TS2322: Type '(item: number) => boolean' is not assignable to type '(item: T) => boolean'.
!!! error TS2322:   Types of parameters 'item' and 'item' are incompatible.
!!! error TS2322:     Type 'T' is not assignable to type 'number'.
    }
    