tests/cases/conformance/classes/constructorDeclarations/superCalls/derivedClassSuperCallsWithThisArg.ts(8,15): error TS17009: 'super' must be called before accessing 'this' in the constructor of a derived class. tests/cases/conformance/classes/constructorDeclarations/superCalls/derivedClassSuperCallsWithThisArg.ts(14,15): error TS17009: 'super' must be called before accessing 'this' in the constructor of a derived class. ==== tests/cases/conformance/classes/constructorDeclarations/superCalls/derivedClassSuperCallsWithThisArg.ts (2 errors) ==== class Base { x: string; constructor(a) { } } class Derived extends Base { constructor() { super(this); // ok ~~~~ !!! error TS17009: 'super' must be called before accessing 'this' in the constructor of a derived class. } } class Derived2 extends Base { constructor(public a: string) { super(this); // error ~~~~ !!! error TS17009: 'super' must be called before accessing 'this' in the constructor of a derived class. } } class Derived3 extends Base { constructor(public a: string) { super(() => this); // error } } class Derived4 extends Base { constructor(public a: string) { super(function () { return this; }); // ok } }