tests/cases/compiler/classImplementsClass2.ts(2,7): error TS2420: Class 'C' incorrectly implements interface 'A'. Property 'foo' is missing in type 'C'. tests/cases/compiler/classImplementsClass2.ts(13,1): error TS2322: Type 'C' is not assignable to type 'C2'. Property 'foo' is missing in type 'C'. ==== tests/cases/compiler/classImplementsClass2.ts (2 errors) ==== class A { foo(): number { return 1; } } class C implements A {} // error ~ !!! error TS2420: Class 'C' incorrectly implements interface 'A'. !!! error TS2420: Property 'foo' is missing in type 'C'. class C2 extends A { foo() { return 1; } } var c: C; var c2: C2; c = c2; c2 = c; ~~ !!! error TS2322: Type 'C' is not assignable to type 'C2'. !!! error TS2322: Property 'foo' is missing in type 'C'.