tests/cases/compiler/incompatibleAssignmentOfIdenticallyNamedTypes.ts(6,9): error TS2719: Type 'T' is not assignable to type 'T'. Two different types with this name exist, but they are unrelated.
  'T' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint '{}'.


==== tests/cases/compiler/incompatibleAssignmentOfIdenticallyNamedTypes.ts (1 errors) ====
    interface T { }
    declare const a: T;
    class Foo<T> {
        x: T;
        fn() {
            this.x = a;
            ~~~~~~
!!! error TS2719: Type 'T' is not assignable to type 'T'. Two different types with this name exist, but they are unrelated.
!!! error TS2719:   'T' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint '{}'.
        }
    }
    