From caa89cafde7a5d53f14b123630e2b3530caa4f2d Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Wed, 30 Jan 2019 08:45:43 -0800 Subject: [PATCH] Add regression test --- .../inferenceAndSelfReferentialConstraint.ts | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 tests/cases/compiler/inferenceAndSelfReferentialConstraint.ts diff --git a/tests/cases/compiler/inferenceAndSelfReferentialConstraint.ts b/tests/cases/compiler/inferenceAndSelfReferentialConstraint.ts new file mode 100644 index 00000000000..2d991a652c1 --- /dev/null +++ b/tests/cases/compiler/inferenceAndSelfReferentialConstraint.ts @@ -0,0 +1,29 @@ +// @strict + +// Repro from #29520 + +type Test = { + [P in K | "foo"]: P extends "foo" ? true : () => any +} + +function test>(arg: T) { + return arg; +} + +const res1 = test({ + foo: true, + bar() { + } +}); + +const res2 = test({ + foo: true, + bar: function () { + } +}); + +const res3 = test({ + foo: true, + bar: () => { + } +});