=== tests/cases/compiler/genericWithIndexerOfTypeParameterType1.ts === class LazyArray { >LazyArray : LazyArray >T : T private objects = <{ [objectId: string]: T; }>{}; >objects : { [objectId: string]: T; } ><{ [objectId: string]: T; }>{} : { [objectId: string]: T; } >objectId : string >T : T >{} : { [x: string]: undefined; } array() { >array : () => { [objectId: string]: T; } return this.objects; >this.objects : { [objectId: string]: T; } >this : LazyArray >objects : { [objectId: string]: T; } } } var lazyArray = new LazyArray(); >lazyArray : LazyArray >new LazyArray() : LazyArray >LazyArray : typeof LazyArray var value: string = lazyArray.array()["test"]; // used to be an error >value : string >lazyArray.array()["test"] : string >lazyArray.array() : { [objectId: string]: string; } >lazyArray.array : () => { [objectId: string]: string; } >lazyArray : LazyArray >array : () => { [objectId: string]: string; } >"test" : string