Closed
Description
TypeScript Version: 3.2.0-dev.20180927
Search Terms:
enum nested switch
Code
enum E {
A = 'A', B = 'B', C = 'C'
};
function one(e: E): number {
switch (e) {
case E.A: return 1;
case E.B: return 2;
case E.C: return 3;
}
}
function two(e: E, f: E): number {
switch (e) {
case E.A: return 1;
case E.B: return 2;
case E.C:
switch (f!) {
case E.A: return 31;
case E.B: return 32;
case E.C: return 33;
}
}
}
Expected behavior:
Successful compilation: if one
is OK, then so is two
.
Actual behavior:
flutterby:tmp ariels$ tsc --noImplicitReturns x.ts
x.ts:13:27 - error TS7030: Not all code paths return a value.
13 function two(e: E, f: E): number {
Related Issues:
Possibly a simpler case of #23572