// @strict: true // Repro from #15756 type Pairs = { [TKey in keyof T]: { key: TKey; value: T[TKey]; }; }; type Pair = Pairs[keyof T]; type FooBar = { foo: string; bar: number; }; // Error expected here let pair1: Pair = { key: "foo", value: 3 }; // Error expected here let pair2: Pairs[keyof FooBar] = { key: "foo", value: 3 };