tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/constructorFunctionTypeIsAssignableToBaseType2.ts(18,9): error TS2684: The 'this' context of type 'void' is not assignable to method's 'this' of type 'Base'.
tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/constructorFunctionTypeIsAssignableToBaseType2.ts(29,9): error TS2684: The 'this' context of type 'void' is not assignable to method's 'this' of type 'Base'.


==== tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/constructorFunctionTypeIsAssignableToBaseType2.ts (2 errors) ====
    // the constructor function itself does not need to be a subtype of the base type constructor function
    
    class Base {
        static foo: {
            bar: Object;
        }
        constructor(x: Object) {
        }
    }
    
    class Derived extends Base {
        // ok
        static foo: {
            bar: number;
        }
    
        constructor(x: number) {
            super(x);
            ~~~~~~~~
!!! error TS2684: The 'this' context of type 'void' is not assignable to method's 'this' of type 'Base'.
        }
    }
    
    class Derived2 extends Base {   
        static foo: {
            bar: number;
        }
    
        // ok, not enforcing assignability relation on this
        constructor(x: any) {
            super(x);
            ~~~~~~~~
!!! error TS2684: The 'this' context of type 'void' is not assignable to method's 'this' of type 'Base'.
            return 1;
        }
    }