TypeScript/tests/cases/conformance/types/intersection/intersectionTypeInference2.ts
Anders Hejlsberg 9871c04e54 Add tests
2017-09-09 13:06:28 -07:00

15 lines
403 B
TypeScript

declare function f<T>(x: { prop: T }): T;
declare const a: { prop: string } & { prop: number };
declare const b: { prop: string & number };
f(a); // string & number
f(b); // string & number
// Repro from #18354
declare function f2<T, Key extends keyof T>(obj: {[K in keyof T]: T[K]}, key: Key): T[Key];
declare const obj: { a: string } & { b: string };
f2(obj, 'a');
f2(obj, 'b');