| // https://issues.dlang.org/show_bug.cgi?id=5435 |
| /* |
| TEST_OUTPUT: |
| --- |
| Enum5435.A |
| Enum5435.B |
| Enum5435.C |
| fail_compilation/fail5435.d(38): Error: cannot implicitly convert expression `"foo"` of type `string` to `Enum5435` |
| fail_compilation/fail5435.d(38): while evaluating `pragma(msg, foo)` |
| fail_compilation/fail5435.d(38): Error: cannot implicitly convert expression `3.0` of type `double` to `Enum5435` |
| fail_compilation/fail5435.d(38): while evaluating `pragma(msg, foo)` |
| fail_compilation/fail5435.d(39): Error: cannot implicitly convert expression `Enum5435.A` of type `Enum5435` to `string` |
| fail_compilation/fail5435.d(39): while evaluating `pragma(msg, foo)` |
| fail_compilation/fail5435.d(39): Error: cannot implicitly convert expression `Enum5435.B` of type `Enum5435` to `string` |
| fail_compilation/fail5435.d(39): while evaluating `pragma(msg, foo)` |
| fail_compilation/fail5435.d(39): Error: cannot implicitly convert expression `Enum5435.C` of type `Enum5435` to `string` |
| fail_compilation/fail5435.d(39): while evaluating `pragma(msg, foo)` |
| foo |
| fail_compilation/fail5435.d(39): Error: cannot implicitly convert expression `3.0` of type `double` to `string` |
| fail_compilation/fail5435.d(39): while evaluating `pragma(msg, foo)` |
| 0 |
| 1 |
| 2 |
| fail_compilation/fail5435.d(40): Error: cannot implicitly convert expression `"foo"` of type `string` to `int` |
| fail_compilation/fail5435.d(40): while evaluating `pragma(msg, foo)` |
| fail_compilation/fail5435.d(40): Error: cannot implicitly convert expression `3.0` of type `double` to `int` |
| fail_compilation/fail5435.d(40): while evaluating `pragma(msg, foo)` |
| --- |
| */ |
| |
| template Tuple5435(E...) { alias E Tuple5435; } |
| enum Enum5435 { A, B, C }; |
| |
| void main() |
| { |
| alias Tuple5435!(Enum5435.A, Enum5435.B, Enum5435.C, "foo", 3.0) tup; |
| |
| foreach (Enum5435 foo; tup) pragma(msg, foo); |
| foreach ( string foo; tup) pragma(msg, foo); |
| foreach ( int foo; tup) pragma(msg, foo); |
| } |