tests/cases/compiler/inheritedModuleMembersForClodule.ts(7,7): error TS2417: Class static side 'typeof D' incorrectly extends base class static side 'typeof C'. Types of property 'foo' are incompatible. Type '() => number' is not assignable to type '() => string'. Type 'number' is not assignable to type 'string'. ==== tests/cases/compiler/inheritedModuleMembersForClodule.ts (1 errors) ==== class C { static foo(): string { return "123"; } } class D extends C { ~ !!! error TS2417: Class static side 'typeof D' incorrectly extends base class static side 'typeof C'. !!! error TS2417: Types of property 'foo' are incompatible. !!! error TS2417: Type '() => number' is not assignable to type '() => string'. !!! error TS2417: Type 'number' is not assignable to type 'string'. } module D { export function foo(): number { return 0; }; } class E extends D { static bar() { return this.foo(); } }