// #14473 function f() { var t: T; var v = { [t]: 0 } return t + t; } // #15501 interface I { x: number } type IdMap = { [P in keyof T]: T[P] }; function g(i: IdMap) { const n: number = i.x; return i.x * 2; } // #17069 function h, K extends string>(array: T[], prop: K): number { let result = 0; for (const v of array) { result += v[prop]; } return result; }