infinitelyExpandingTypesNonGenericBase.ts(2,5): error TS2564: Property 'property' has no initializer and is not definitely assigned in the constructor.
infinitelyExpandingTypesNonGenericBase.ts(9,5): error TS2564: Property 'options' has no initializer and is not definitely assigned in the constructor.


==== infinitelyExpandingTypesNonGenericBase.ts (2 errors) ====
    class Functionality<V> {
        property: Options<V>;
        ~~~~~~~~
!!! error TS2564: Property 'property' has no initializer and is not definitely assigned in the constructor.
    }
    
    class Base {
    }
    
    class A<T> extends Base {
        options: Options<Functionality<T>[]>;
        ~~~~~~~
!!! error TS2564: Property 'options' has no initializer and is not definitely assigned in the constructor.
    }
    
    interface OptionsBase<T> {
        Options: Options<T>;
    }
    
    interface Options<T> extends OptionsBase<T> {
    }
    
    
    function o(type: new () => Base) {
    }
    
    o(A);
    