=== tests/cases/compiler/infinitelyExpandingTypesNonGenericBase.ts ===
class Functionality<V> {
>Functionality : Functionality<V>
>V : V

    property: Options<V>;
>property : Options<V>
>Options : Options<T>
>V : V
}

class Base {
>Base : Base
}

class A<T> extends Base {
>A : A<T>
>T : T
>Base : Base

    options: Options<Functionality<T>[]>;
>options : Options<Functionality<T>[]>
>Options : Options<T>
>Functionality : Functionality<V>
>T : T
}

interface OptionsBase<T> {
>OptionsBase : OptionsBase<T>
>T : T

    Options: Options<T>;
>Options : Options<T>
>Options : Options<T>
>T : T
}

interface Options<T> extends OptionsBase<T> {
>Options : Options<T>
>T : T
>OptionsBase : OptionsBase<T>
>T : T
}


function o(type: new () => Base) {
>o : (type: new () => Base) => void
>type : new () => Base
>Base : Base
}

o(A);
>o(A) : void
>o : (type: new () => Base) => void
>A : typeof A

