tests/cases/conformance/classes/constructorDeclarations/constructorWithAssignableReturnExpression.ts(12,16): error TS2409: Return type of constructor signature must be assignable to the instance type of the class
tests/cases/conformance/classes/constructorDeclarations/constructorWithAssignableReturnExpression.ts(26,16): error TS2409: Return type of constructor signature must be assignable to the instance type of the class


==== tests/cases/conformance/classes/constructorDeclarations/constructorWithAssignableReturnExpression.ts (2 errors) ====
    // a class constructor may return an expression, it must be assignable to the class instance type to be valid
    
    class C {
        constructor() {
            return 1;
        }
    }
    
    class D {
        x: number;
        constructor() {
            return 1; // error
                   ~
!!! error TS2409: Return type of constructor signature must be assignable to the instance type of the class
        }
    }
    
    class E {
        x: number;
        constructor() {
            return { x: 1 };
        }
    }
    
    class F<T> {
        x: T;
        constructor() {
            return { x: 1 }; // error
                   ~~~~~~~~
!!! error TS2409: Return type of constructor signature must be assignable to the instance type of the class
        }
    }
    
    class G<T> {
        x: T;
        constructor() {
            return { x: <T>null };
        }
    }