Why am I getting this syntax error in Zig?
parse_integers.zig:21:18: error: expected ')', found ','
for (expected, list.items) |exp, actual| {
Here is the code (copied and pasted from the Zig home page):
const std = @import("std");
const parseInt = std.fmt.parseInt;
test "parse integers" {
const input = "123 67 89,99";
const ally = std.testing.allocator;
var list = std.ArrayList(u32).init(ally);
// Ensure the list is freed at scope exit.
// Try commenting out this line!
defer list.deinit();
var it = std.mem.tokenize(u8, input, " ,");
while (it.next()) |num| {
const n = try parseInt(u32, num, 10);
try list.append(n);
}
const expected = [_]u32{ 123, 67, 89, 99 };
for (expected, list.items) |exp, actual| {
try std.testing.expectEqual(exp, actual);
}
}
I have Zig 0.10.1 installed.
I got this error by running:
zig test parse_integers.zig
multi-range for loop has introduced in 0.11
(current master)