=== tests/cases/compiler/infinitelyExpandingTypesNonGenericBase.ts === class Functionality { >Functionality : Functionality, Symbol(Functionality, Decl(infinitelyExpandingTypesNonGenericBase.ts, 0, 0)) >V : V, Symbol(V, Decl(infinitelyExpandingTypesNonGenericBase.ts, 0, 20)) property: Options; >property : Options, Symbol(property, Decl(infinitelyExpandingTypesNonGenericBase.ts, 0, 24)) >Options : Options, Symbol(Options, Decl(infinitelyExpandingTypesNonGenericBase.ts, 13, 1)) >V : V, Symbol(V, Decl(infinitelyExpandingTypesNonGenericBase.ts, 0, 20)) } class Base { >Base : Base, Symbol(Base, Decl(infinitelyExpandingTypesNonGenericBase.ts, 2, 1)) } class A extends Base { >A : A, Symbol(A, Decl(infinitelyExpandingTypesNonGenericBase.ts, 5, 1)) >T : T, Symbol(T, Decl(infinitelyExpandingTypesNonGenericBase.ts, 7, 8)) >Base : Base, Symbol(Base, Decl(infinitelyExpandingTypesNonGenericBase.ts, 2, 1)) options: Options[]>; >options : Options[]>, Symbol(options, Decl(infinitelyExpandingTypesNonGenericBase.ts, 7, 25)) >Options : Options, Symbol(Options, Decl(infinitelyExpandingTypesNonGenericBase.ts, 13, 1)) >Functionality : Functionality, Symbol(Functionality, Decl(infinitelyExpandingTypesNonGenericBase.ts, 0, 0)) >T : T, Symbol(T, Decl(infinitelyExpandingTypesNonGenericBase.ts, 7, 8)) } interface OptionsBase { >OptionsBase : OptionsBase, Symbol(OptionsBase, Decl(infinitelyExpandingTypesNonGenericBase.ts, 9, 1)) >T : T, Symbol(T, Decl(infinitelyExpandingTypesNonGenericBase.ts, 11, 22)) Options: Options; >Options : Options, Symbol(Options, Decl(infinitelyExpandingTypesNonGenericBase.ts, 11, 26)) >Options : Options, Symbol(Options, Decl(infinitelyExpandingTypesNonGenericBase.ts, 13, 1)) >T : T, Symbol(T, Decl(infinitelyExpandingTypesNonGenericBase.ts, 11, 22)) } interface Options extends OptionsBase { >Options : Options, Symbol(Options, Decl(infinitelyExpandingTypesNonGenericBase.ts, 13, 1)) >T : T, Symbol(T, Decl(infinitelyExpandingTypesNonGenericBase.ts, 15, 18)) >OptionsBase : OptionsBase, Symbol(OptionsBase, Decl(infinitelyExpandingTypesNonGenericBase.ts, 9, 1)) >T : T, Symbol(T, Decl(infinitelyExpandingTypesNonGenericBase.ts, 15, 18)) } function o(type: new () => Base) { >o : (type: new () => Base) => void, Symbol(o, Decl(infinitelyExpandingTypesNonGenericBase.ts, 16, 1)) >type : new () => Base, Symbol(type, Decl(infinitelyExpandingTypesNonGenericBase.ts, 19, 11)) >Base : Base, Symbol(Base, Decl(infinitelyExpandingTypesNonGenericBase.ts, 2, 1)) } o(A); >o(A) : void >o : (type: new () => Base) => void, Symbol(o, Decl(infinitelyExpandingTypesNonGenericBase.ts, 16, 1)) >A : typeof A, Symbol(A, Decl(infinitelyExpandingTypesNonGenericBase.ts, 5, 1))