2 https://issues.dlang.org/show_bug.cgi?id=22514
5 fail_compilation/test_switch_error.d(13): Error: undefined identifier `doesNotExist`
6 fail_compilation/test_switch_error.d(16): Error: undefined identifier `alsoDoesNotExits`
7 fail_compilation/test_switch_error.d(19): Error: duplicate `case 2` in `switch` statement
26 fail_compilation/test_switch_error.d(105): Error: undefined identifier `doesNotExist`
44 fail_compilation/test_switch_error.d(206): Error: undefined identifier `a`
45 fail_compilation/test_switch_error.d(207): Error: undefined identifier `b`
63 fail_compilation/test_switch_error.d(303): Error: undefined identifier `doesNotExits`
70 auto foo
= doesNotExits();
81 fail_compilation/test_switch_error.d(405): Error: `case` variables have to be `const` or `immutable`
82 fail_compilation/test_switch_error.d(412): Error: `case` variables not allowed in `final switch` statements
106 fail_compilation/test_switch_error.d(513): Error: undefined identifier `undefinedFunc`
107 fail_compilation/test_switch_error.d(517): Error: `case` expression must be a compile-time `string` or an integral constant, not `Strukt(1)`
108 fail_compilation/test_switch_error.d(518): Error: `case` variables have to be `const` or `immutable`
109 fail_compilation/test_switch_error.d(518): Error: `case` variables not allowed in `final switch` statements
110 fail_compilation/test_switch_error.d(519): Error: `case` variables not allowed in `final switch` statements
111 fail_compilation/test_switch_error.d(522): Error: undefined identifier `undefinedFunc2`
126 void errorsWithErrors(int param
, immutable int constant
)
128 final switch(undefinedFunc())
132 case Strukt(1): break;
134 case constant
: break;
137 switch (undefinedFunc2())
139 case constant
: break;
146 fail_compilation/test_switch_error.d(622): Error: undefined identifier `undefinedFunc`
147 fail_compilation/test_switch_error.d(624): Error: `case` expression must be a compile-time `string` or an integral constant, not `SubtypeOfInt(2)`
148 fail_compilation/test_switch_error.d(625): Error: `case` expression must be a compile-time `string` or an integral constant, not `SubtypeOfIntMethod()`
159 struct SubtypeOfIntMethod
161 int getI() { return 0; }
165 void errorsWithErrors2(int param
)
169 case SubtypeOfInt(1): break;
170 case SubtypeOfIntMethod(): break;
173 // This snippet causes somewhat misleading error messages
174 final switch(undefinedFunc())
176 case SubtypeOfInt(2): break;
177 case SubtypeOfIntMethod(): break;