Skip to content

Commit 500c472

Browse files
committed
Add additional repro
1 parent 48cad77 commit 500c472

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

tests/cases/compiler/discriminantPropertyCheck.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,34 @@ u.a && u.b && f(u.a, u.b);
122122

123123
u.b && u.a && f(u.a, u.b);
124124

125+
// Repro from #29012
126+
127+
type Additive = '+' | '-';
128+
type Multiplicative = '*' | '/';
129+
130+
interface AdditiveObj {
131+
key: Additive
132+
}
133+
134+
interface MultiplicativeObj {
135+
key: Multiplicative
136+
}
137+
138+
type Obj = AdditiveObj | MultiplicativeObj
139+
140+
export function foo(obj: Obj) {
141+
switch (obj.key) {
142+
case '+': {
143+
onlyPlus(obj.key);
144+
return;
145+
}
146+
}
147+
}
148+
149+
function onlyPlus(arg: '+') {
150+
return arg;
151+
}
152+
125153
// Repro from #29496
126154

127155
declare function never(value: never): never;

0 commit comments

Comments
 (0)