| 1 | export fn a() void { |
| 2 | for (0..10, 10..21) |i, j| { |
| 3 | _ = i; |
| 4 | _ = j; |
| 5 | } |
| 6 | } |
| 7 | export fn b() void { |
| 8 | const s1 = "hello"; |
| 9 | const s2 = true; |
| 10 | for (s1, s2) |i, j| { |
| 11 | _ = i; |
| 12 | _ = j; |
| 13 | } |
| 14 | } |
| 15 | export fn c() void { |
| 16 | var buf: [10]u8 = undefined; |
| 17 | for (buf) |*byte| { |
| 18 | _ = byte; |
| 19 | } |
| 20 | _ = &buf; |
| 21 | } |
| 22 | export fn d() void { |
| 23 | const x: [*]const u8 = "hello"; |
| 24 | const y: [*]const u8 = "world"; |
| 25 | for (x, 0.., y) |x1, x2, x3| { |
| 26 | _ = x1; |
| 27 | _ = x2; |
| 28 | _ = x3; |
| 29 | } |
| 30 | } |
| 31 | export fn e() void { |
| 32 | for (123) |_| {} |
| 33 | } |
| 34 | |
| 35 | // error |
| 36 | // |
| 37 | // :2:5: error: non-matching for loop lengths |
| 38 | // :2:11: note: length 10 here |
| 39 | // :2:19: note: length 11 here |
| 40 | // :10:14: error: type 'bool' is not indexable and not a range |
| 41 | // :10:14: note: for loop operand must be a range, array, slice, tuple, or vector |
| 42 | // :17:16: error: pointer capture of non pointer type '[10]u8' |
| 43 | // :17:10: note: consider using '&' here |
| 44 | // :25:5: error: unbounded for loop |
| 45 | // :25:10: note: type '[*]const u8' has no upper bound |
| 46 | // :25:18: note: type '[*]const u8' has no upper bound |
| 47 | // :32:10: error: type 'comptime_int' is not indexable and not a range |
| 48 | // :32:10: note: for loop operand must be a range, array, slice, tuple, or vector |