tests/cases/compiler/classExtendsInterfaceThatExtendsClassWithPrivates1.ts(11,12): error TS2416: Property 'foo' in type 'D2' is not assignable to the same property in base type 'I'.
  Type '(x: any) => any' is not assignable to type '(x: any) => any'. Two different types with this name exist, but they are unrelated.
    The 'this' types of each signature are incompatible.
      Property 'other' is missing in type 'C' but required in type 'D2'.


==== tests/cases/compiler/classExtendsInterfaceThatExtendsClassWithPrivates1.ts (1 errors) ====
    class C {
        public foo(x: any) { return x; }
        private x = 1;
    }
    
    interface I extends C {
        other(x: any): any;
    }
    
    class D2 implements I {
        public foo(x: any) { return x }
               ~~~
!!! error TS2416: Property 'foo' in type 'D2' is not assignable to the same property in base type 'I'.
!!! error TS2416:   Type '(x: any) => any' is not assignable to type '(x: any) => any'. Two different types with this name exist, but they are unrelated.
!!! error TS2416:     The 'this' types of each signature are incompatible.
!!! error TS2416:       Property 'other' is missing in type 'C' but required in type 'D2'.
!!! related TS2728 tests/cases/compiler/classExtendsInterfaceThatExtendsClassWithPrivates1.ts:13:5: 'other' is declared here.
        private x = 3;
        other(x: any) { return x }
    } 