tests/cases/compiler/typeParametersShouldNotBeEqual2.ts(4,5): error TS2322: Type 'U' is not assignable to type 'T'.
  'U' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint 'Date'.
tests/cases/compiler/typeParametersShouldNotBeEqual2.ts(5,5): error TS2322: Type 'V' is not assignable to type 'T'.
  'T' could be instantiated with an arbitrary type which could be unrelated to 'V'.
tests/cases/compiler/typeParametersShouldNotBeEqual2.ts(6,5): error TS2322: Type 'T' is not assignable to type 'V'.
  'V' could be instantiated with an arbitrary type which could be unrelated to 'T'.
tests/cases/compiler/typeParametersShouldNotBeEqual2.ts(7,5): error TS2322: Type 'V' is not assignable to type 'U'.
  'U' could be instantiated with an arbitrary type which could be unrelated to 'V'.
tests/cases/compiler/typeParametersShouldNotBeEqual2.ts(8,5): error TS2322: Type 'U' is not assignable to type 'V'.
  'V' could be instantiated with an arbitrary type which could be unrelated to 'U'.
tests/cases/compiler/typeParametersShouldNotBeEqual2.ts(9,5): error TS2322: Type 'Object' is not assignable to type 'T'.
  'T' could be instantiated with an arbitrary type which could be unrelated to 'Object'.


==== tests/cases/compiler/typeParametersShouldNotBeEqual2.ts (6 errors) ====
    function ff<T extends Date, U extends Date, V>(x: T, y: U, z: V) {
        var zz: Object;
        x = x;  // Ok
        x = y;  // Ok
        ~
!!! error TS2322: Type 'U' is not assignable to type 'T'.
!!! error TS2322:   'U' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint 'Date'.
        x = z;  // Error
        ~
!!! error TS2322: Type 'V' is not assignable to type 'T'.
!!! error TS2322:   'T' could be instantiated with an arbitrary type which could be unrelated to 'V'.
!!! related TS2208 tests/cases/compiler/typeParametersShouldNotBeEqual2.ts:1:45: This type parameter might need an `extends T` constraint.
        z = x;  // Error
        ~
!!! error TS2322: Type 'T' is not assignable to type 'V'.
!!! error TS2322:   'V' could be instantiated with an arbitrary type which could be unrelated to 'T'.
        y = z;  // Error
        ~
!!! error TS2322: Type 'V' is not assignable to type 'U'.
!!! error TS2322:   'U' could be instantiated with an arbitrary type which could be unrelated to 'V'.
!!! related TS2208 tests/cases/compiler/typeParametersShouldNotBeEqual2.ts:1:45: This type parameter might need an `extends U` constraint.
        z = y;  // Error
        ~
!!! error TS2322: Type 'U' is not assignable to type 'V'.
!!! error TS2322:   'V' could be instantiated with an arbitrary type which could be unrelated to 'U'.
        x = zz;  // Error
        ~
!!! error TS2322: Type 'Object' is not assignable to type 'T'.
!!! error TS2322:   'T' could be instantiated with an arbitrary type which could be unrelated to 'Object'.
        zz = x;  // Ok
    }
    