tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractGeneric.ts(10,7): error TS2515: Non-abstract class 'C' does not implement inherited abstract member 'bar' from class 'A'. tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractGeneric.ts(10,7): error TS2515: Non-abstract class 'C' does not implement inherited abstract member 'foo' from class 'A'. tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractGeneric.ts(12,7): error TS2515: Non-abstract class 'D' does not implement inherited abstract member 'bar' from class 'A'. tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractGeneric.ts(12,7): error TS2515: Non-abstract class 'D' does not implement inherited abstract member 'foo' from class 'A'. tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractGeneric.ts(14,7): error TS2515: Non-abstract class 'E' does not implement inherited abstract member 'bar' from class 'A'. tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractGeneric.ts(18,7): error TS2515: Non-abstract class 'F' does not implement inherited abstract member 'foo' from class 'A'. ==== tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractGeneric.ts (6 errors) ==== abstract class A { t: T; abstract foo(): T; abstract bar(t: T); } abstract class B extends A {} class C extends A {} // error -- inherits abstract methods ~ !!! error TS2515: Non-abstract class 'C' does not implement inherited abstract member 'bar' from class 'A'. ~ !!! error TS2515: Non-abstract class 'C' does not implement inherited abstract member 'foo' from class 'A'. class D extends A {} // error -- inherits abstract methods ~ !!! error TS2515: Non-abstract class 'D' does not implement inherited abstract member 'bar' from class 'A'. ~ !!! error TS2515: Non-abstract class 'D' does not implement inherited abstract member 'foo' from class 'A'. class E extends A { // error -- doesn't implement bar ~ !!! error TS2515: Non-abstract class 'E' does not implement inherited abstract member 'bar' from class 'A'. foo() { return this.t; } } class F extends A { // error -- doesn't implement foo ~ !!! error TS2515: Non-abstract class 'F' does not implement inherited abstract member 'foo' from class 'A'. bar(t : T) {} } class G extends A { foo() { return this.t; } bar(t: T) { } }