classExtendsShadowedConstructorFunction.ts(1,11): error TS2564: Property 'foo' has no initializer and is not definitely assigned in the constructor.
classExtendsShadowedConstructorFunction.ts(5,21): error TS2507: Type 'number' is not a constructor function type.
classExtendsShadowedConstructorFunction.ts(6,9): error TS2564: Property 'bar' has no initializer and is not definitely assigned in the constructor.


==== classExtendsShadowedConstructorFunction.ts (3 errors) ====
    class C { foo: string; }
              ~~~
!!! error TS2564: Property 'foo' has no initializer and is not definitely assigned in the constructor.
    
    namespace M {
        var C = 1;
        class D extends C { // error, C must evaluate to constructor function
                        ~
!!! error TS2507: Type 'number' is not a constructor function type.
            bar: string;
            ~~~
!!! error TS2564: Property 'bar' has no initializer and is not definitely assigned in the constructor.
        }
    }