=== tests/cases/compiler/validUseOfThisInSuper.ts === class Base { >Base : Base constructor(public b: Base) { >b : Base >Base : Base } } class Super extends Base { >Super : Super >Base : Base constructor() { super((() => this)()); // ok since this is not the case: The constructor declares parameter properties or the containing class declares instance member variables with initializers. >super((() => this)()) : void >super : typeof Base >(() => this)() : Super >(() => this) : () => Super >() => this : () => Super >this : Super } }