TypeScript/tests/cases/conformance/types/mapped/mappedTypeWithAny.ts

28 lines
545 B
TypeScript
Raw Normal View History

2017-10-14 20:13:40 +02:00
// @strict: true
// @declaration: true
type Item = { value: string };
type ItemMap<T> = { [P in keyof T]: Item };
declare let x0: keyof any;
declare let x1: { [P in any]: Item };
declare let x2: { [P in string]: Item };
declare let x3: { [P in keyof any]: Item };
declare let x4: ItemMap<any>;
// Repro from #19152
type Data = {
value: string;
}
type StrictDataMap<T> = {
[P in keyof T]: Data
}
declare let z: StrictDataMap<any>;
for (let id in z) {
let data = z[id];
let x = data.notAValue; // Error
}