| /* |
| TEST_OUTPUT: |
| --- |
| fail_compilation/b12504.d(26): Error: cannot implicitly convert expression `257$?:32=u|64=LU$` of type `$?:32=uint|64=ulong$` to `ubyte` |
| fail_compilation/b12504.d(27): Error: index type `ubyte` cannot cover index range 0..257 |
| fail_compilation/b12504.d(31): Error: cannot implicitly convert expression `129$?:32=u|64=LU$` of type `$?:32=uint|64=ulong$` to `byte` |
| fail_compilation/b12504.d(32): Error: index type `byte` cannot cover index range 0..129 |
| fail_compilation/b12504.d(36): Error: cannot implicitly convert expression `65537$?:32=u|64=LU$` of type `$?:32=uint|64=ulong$` to `ushort` |
| fail_compilation/b12504.d(37): Error: index type `ushort` cannot cover index range 0..65537 |
| fail_compilation/b12504.d(41): Error: cannot implicitly convert expression `32769$?:32=u|64=LU$` of type `$?:32=uint|64=ulong$` to `short` |
| fail_compilation/b12504.d(42): Error: index type `short` cannot cover index range 0..32769 |
| fail_compilation/b12504.d(46): Error: cannot implicitly convert expression `257$?:32=u|64=LU$` of type `$?:32=uint|64=ulong$` to `ubyte` |
| fail_compilation/b12504.d(47): Error: index type `ubyte` cannot cover index range 0..257 |
| fail_compilation/b12504.d(51): Error: cannot implicitly convert expression `129$?:32=u|64=LU$` of type `$?:32=uint|64=ulong$` to `byte` |
| fail_compilation/b12504.d(52): Error: index type `byte` cannot cover index range 0..129 |
| fail_compilation/b12504.d(56): Error: cannot implicitly convert expression `65537$?:32=u|64=LU$` of type `$?:32=uint|64=ulong$` to `ushort` |
| fail_compilation/b12504.d(57): Error: index type `ushort` cannot cover index range 0..65537 |
| fail_compilation/b12504.d(61): Error: cannot implicitly convert expression `32769$?:32=u|64=LU$` of type `$?:32=uint|64=ulong$` to `short` |
| fail_compilation/b12504.d(62): Error: index type `short` cannot cover index range 0..32769 |
| --- |
| */ |
| void main() |
| { |
| { |
| int[0xFF + 2] sta; |
| foreach (ubyte i; 0 .. sta.length) {} |
| foreach (ubyte i, x; sta) {} |
| } |
| { |
| int[0x7F + 2] sta; |
| foreach (byte i; 0 .. sta.length) {} |
| foreach (byte i, x; sta) {} |
| } |
| { |
| int[0xFFFF + 2] sta; |
| foreach (ushort i; 0 .. sta.length) {} |
| foreach (ushort i, x; sta) {} |
| } |
| { |
| int[0x7FFF + 2] sta; |
| foreach (short i; 0 .. sta.length) {} |
| foreach (short i, x; sta) {} |
| } |
| { |
| immutable int[0xFF + 2] sta; |
| static foreach (ubyte i; 0 .. sta.length) {} |
| static foreach (ubyte i, x; sta) {} |
| } |
| { |
| immutable int[0x7F + 2] sta; |
| static foreach (byte i; 0 .. sta.length) {} |
| static foreach (byte i, x; sta) {} |
| } |
| { |
| immutable int[0xFFFF + 2] sta; |
| static foreach (ushort i; 0 .. sta.length) {} |
| static foreach (ushort i, x; sta) {} |
| } |
| { |
| immutable int[0x7FFF + 2] sta; |
| static foreach (short i; 0 .. sta.length) {} |
| static foreach (short i, x; sta) {} |
| } |
| } |