=== tests/cases/compiler/indexerReturningTypeParameter1.ts === interface f { >f : f groupBy(): { [key: string]: T[]; }; >groupBy : () => { [key: string]: T[]; } >T : T >key : string >T : T } var a: f; >a : f >f : f var r = a.groupBy(); >r : { [key: string]: {}[]; } >a.groupBy() : { [key: string]: {}[]; } >a.groupBy : () => { [key: string]: T[]; } >a : f >groupBy : () => { [key: string]: T[]; } class c { >c : c groupBy(): { [key: string]: T[]; } { >groupBy : () => { [key: string]: T[]; } >T : T >key : string >T : T return null; >null : null } } var a2: c; >a2 : c >c : c var r2 = a2.groupBy(); >r2 : { [key: string]: {}[]; } >a2.groupBy() : { [key: string]: {}[]; } >a2.groupBy : () => { [key: string]: T[]; } >a2 : c >groupBy : () => { [key: string]: T[]; }