diff --git a/tests/cases/compiler/getSignatureOfTypeCrash.ts b/tests/cases/compiler/getSignatureOfTypeCrash.ts new file mode 100644 index 00000000000..ad5884ed693 --- /dev/null +++ b/tests/cases/compiler/getSignatureOfTypeCrash.ts @@ -0,0 +1,17 @@ +declare interface Foo { + a(): boolean; + b(): void; + c(argument: boolean): void; + d(argument: number): void; +} + +declare const Foo: Mapped; +type Mapped = { + [K in keyof T]: T[K] extends (...args: infer Args) => infer R + ? (...args: Args) => R + : never; +}; + +function foo(key: 'a' | 'b' | 'c' | 'd') { + Foo[key](); +} \ No newline at end of file