Closed

Description
TypeScript Version: nightly (2.4.0-dev.20170501)
Code
interface I { x: number; }
type IdentityMap<T> = {
[P in keyof T]: T[P];
};
function f<T extends I>(i: IdentityMap<T>) {
const n: number = i.x; // No error, good
i.x * 2; // Error
}
Expected behavior:
No error.
Actual behavior:
src/a.ts(9,5): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
May be related to #14360.