From c993af62347faf124e97b16801356d34322a216e Mon Sep 17 00:00:00 2001 From: flexicoding <97116715+flexicoding@users.noreply.github.com> Date: Sat, 18 Feb 2023 18:07:35 +0100 Subject: [PATCH 01/36] compiler_rt: remove unexported functions --- lib/compiler_rt/README.md | 4 ++++ lib/compiler_rt/gehf2.zig | 8 -------- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/lib/compiler_rt/README.md b/lib/compiler_rt/README.md index a5d6bfdd6b6b372248d495f96c86b3ddd6aabe40..0590c33fdec18131b54b7e96229c6c696c4e5245 100644 --- a/lib/compiler_rt/README.md +++ b/lib/compiler_rt/README.md @@ -260,6 +260,8 @@ Integer and Float Operations | ✓ | __gedf2 | f64 | f64 | i32 | .. | | ✓ | __getf2 | f128 | f128 | i32 | .. | | ✓ | __gexf2 | f80 | f80 | i32 | .. | +| ✓ | __aeabi_fcmpge | f32 | f32 | i32 | .. ARM | +| ✓ | __aeabi_dcmpge | f64 | f64 | i32 | .. ARM | | ✓ | __gekf2 | f128 | f128 | i32 | .. PPC | | ✓ | _Qp_fge |*f128 |*f128 | bool | .. SPARC | | ✓ | __lthf2 | f16 | f16 | i32 | `(a!=Nan) and (b!=Nan) and (a output<0` | @@ -285,6 +287,8 @@ Integer and Float Operations | ✓ | __gtdf2 | f64 | f64 | i32 | .. | | ✓ | __gttf2 | f128 | f128 | i32 | .. | | ✓ | __gtxf2 | f80 | f80 | i32 | .. | +| ✓ | __aeabi_fcmpgt | f32 | f32 | i32 | .. ARM | +| ✓ | __aeabi_dcmpgt | f64 | f64 | i32 | .. ARM | | ✓ | __gtkf2 | f128 | f128 | i32 | .. PPC | | ✓ | _Qp_fgt |*f128 |*f128 | bool | .. SPARC | | | | | | | **Float Arithmetic** | diff --git a/lib/compiler_rt/gehf2.zig b/lib/compiler_rt/gehf2.zig index e3df4d30874c32cd9370a4853f00e48b60537465..6bea4e164a61f37cdcd5d2936afd8d995fcee7d3 100644 --- a/lib/compiler_rt/gehf2.zig +++ b/lib/compiler_rt/gehf2.zig @@ -21,11 +21,3 @@ pub fn __gehf2(a: f16, b: f16) callconv(.C) i32 { pub fn __gthf2(a: f16, b: f16) callconv(.C) i32 { return __gehf2(a, b); } - -fn __aeabi_fcmpge(a: f16, b: f16) callconv(.AAPCS) i32 { - return @boolToInt(comparef.cmpf2(f16, comparef.GE, a, b) != .Less); -} - -fn __aeabi_fcmpgt(a: f16, b: f16) callconv(.AAPCS) i32 { - return @boolToInt(comparef.cmpf2(f16, comparef.LE, a, b) == .Greater); -} -- 2.54.0 From 07630eb696a4c7097fadf9e0261411d591a82038 Mon Sep 17 00:00:00 2001 From: Matt Knight Date: Sat, 18 Feb 2023 14:10:27 -0500 Subject: [PATCH 02/36] Value: implement writeToMemory for packed unions --- src/value.zig | 19 +++++++++++++++++++ test/behavior/comptime_memory.zig | 18 ++++++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/src/value.zig b/src/value.zig index 306e31c0a7e48adf03e7b1f36660d504700a7e54..98842a4ca7a2d43909bff8dc074082ebfc387eff 100644 --- a/src/value.zig +++ b/src/value.zig @@ -1340,6 +1340,14 @@ pub const Value = extern union { const int = mod.global_error_set.get(val.castTag(.@"error").?.data.name).?; std.mem.writeInt(Int, buffer[0..@sizeOf(Int)], @intCast(Int, int), endian); }, + .Union => switch (ty.containerLayout()) { + .Auto => unreachable, + .Extern => @panic("TODO implement writeToMemory for extern unions"), + .Packed => { + const byte_count = (@intCast(usize, ty.bitSize(target)) + 7) / 8; + writeToPackedMemory(val, ty, mod, buffer[0..byte_count], 0); + }, + }, else => @panic("TODO implement writeToMemory for more types"), } } @@ -1430,6 +1438,17 @@ pub const Value = extern union { } }, }, + .Union => switch (ty.containerLayout()) { + .Auto => unreachable, // Sema is supposed to have emitted a compile error already + .Extern => unreachable, // Handled in non-packed writeToMemory + .Packed => { + const field_index = ty.unionTagFieldIndex(val.unionTag(), mod); + const field_type = ty.unionFields().values()[field_index.?].ty; + const field_val = val.fieldValue(field_type, field_index.?); + + field_val.writeToPackedMemory(field_type, mod, buffer, bit_offset); + }, + }, else => @panic("TODO implement writeToPackedMemory for more types"), } } diff --git a/test/behavior/comptime_memory.zig b/test/behavior/comptime_memory.zig index e08dad68f0d3d5b363bb7d223e834767c266ec8a..a4f9f2f7a9da72ad1b9a669d094f1bdaf967bfb9 100644 --- a/test/behavior/comptime_memory.zig +++ b/test/behavior/comptime_memory.zig @@ -394,3 +394,21 @@ test "accessing reinterpreted memory of parent object" { try testing.expect(b == expected); } } + +test "bitcast packed union to integer" { + const U = packed union { + x: u1, + y: u2, + }; + + comptime { + const a = U{ .x = 1 }; + const b = U{ .y = 2 }; + const cast_a = @bitCast(u2, a); + const cast_b = @bitCast(u2, b); + + // truncated because the upper bit is garbage memory that we don't care about + try testing.expectEqual(@as(u1, 1), @truncate(u1, cast_a)); + try testing.expectEqual(@as(u2, 2), cast_b); + } +} -- 2.54.0 From a250af5a51fa3f7af6b7f13a9613c79e6cd94fc3 Mon Sep 17 00:00:00 2001 From: Edoardo Vacchi Date: Thu, 16 Feb 2023 18:16:31 +0100 Subject: [PATCH 03/36] wasi: add Preopens.findDir, update tests to preopen `/tmp' Signed-off-by: Edoardo Vacchi --- lib/std/Build/CompileStep.zig | 4 +- lib/std/fs/test.zig | 5 ++ lib/std/fs/wasi.zig | 108 ++++++++++++++++++++++++++++++++++ 3 files changed, 116 insertions(+), 1 deletion(-) diff --git a/lib/std/Build/CompileStep.zig b/lib/std/Build/CompileStep.zig index 1f145f8171336e51b32a57bb6704f3a12c07d745..eeb7da1596d43e348bdd410d81c102e3844c070f 100644 --- a/lib/std/Build/CompileStep.zig +++ b/lib/std/Build/CompileStep.zig @@ -1555,7 +1555,9 @@ fn make(step: *Step) !void { try zig_args.append("--test-cmd"); try zig_args.append(bin_name); try zig_args.append("--test-cmd"); - try zig_args.append("--dir=."); + try zig_args.append("--mapdir=/::."); + try zig_args.append("--test-cmd"); + try zig_args.append("--mapdir=/tmp::/tmp"); try zig_args.append("--test-cmd-bin"); } else { try zig_args.append("--test-no-exec"); diff --git a/lib/std/fs/test.zig b/lib/std/fs/test.zig index 16458d7dc4907577cbd4464467eac605f89fe963..957fe4902f301c1912f3533cbdf140c369485399 100644 --- a/lib/std/fs/test.zig +++ b/lib/std/fs/test.zig @@ -13,6 +13,11 @@ const File = std.fs.File; const tmpDir = testing.tmpDir; const tmpIterableDir = testing.tmpIterableDir; +// ensure tests for fs/wasi.zig are run +comptime { + _ = std.fs.wasi; +} + test "Dir.readLink" { var tmp = tmpDir(.{}); defer tmp.cleanup(); diff --git a/lib/std/fs/wasi.zig b/lib/std/fs/wasi.zig index fa9de0dff1e59bb2a52d34e4995ab77e7bfae1d3..a8b9fae2e9651fc384e9208f48dd740272998921 100644 --- a/lib/std/fs/wasi.zig +++ b/lib/std/fs/wasi.zig @@ -9,6 +9,7 @@ const Allocator = mem.Allocator; const wasi = std.os.wasi; const fd_t = wasi.fd_t; const prestat_t = wasi.prestat_t; +const testing = std.testing; pub const Preopens = struct { // Indexed by file descriptor number. @@ -22,6 +23,30 @@ pub const Preopens = struct { } return null; } + + pub fn findDir(p: Preopens, full_path: []const u8, flags: std.fs.Dir.OpenDirOptions) std.fs.Dir.OpenError!std.fs.Dir { + if (p.names.len <= 2) + return std.fs.Dir.OpenError.BadPathName; // there are no preopens + + var prefix: []const u8 = ""; + var fd: usize = 0; + for (p.names) |preopen, i| { + if (i > 2 and wasiPathPrefixMatches(preopen, full_path)) { + if (preopen.len > prefix.len) { + prefix = preopen; + fd = i; + } + } + } + + // still no match + if (fd == 0) { + return std.fs.Dir.OpenError.FileNotFound; + } + const d = std.fs.Dir{ .fd = @intCast(os.fd_t, fd) }; + const rel = full_path[prefix.len + 1 .. full_path.len]; + return d.openDirWasi(rel, flags); + } }; pub fn preopensAlloc(gpa: Allocator) Allocator.Error!Preopens { @@ -54,3 +79,86 @@ pub fn preopensAlloc(gpa: Allocator) Allocator.Error!Preopens { names.appendAssumeCapacity(name); } } + +fn wasiPathPrefixMatches(prefix: []const u8, path: []const u8) bool { + if (path[0] != '/' and prefix.len == 0) + return true; + + if (path.len < prefix.len) + return false; + + if (prefix.len == 1) { + return prefix[0] == path[0]; + } + + if (!std.mem.eql(u8, path[0..prefix.len], prefix)) { + return false; + } + + return path.len == prefix.len or + path[prefix.len] == '/'; +} + +test "preopens" { + if (builtin.os.tag != .wasi) return error.SkipZigTest; + + // lifted from `testing` + const random_bytes_count = 12; + const buf_size = 256; + const path = "/tmp"; + const tmp_file_name = "file.txt"; + const nonsense = "nonsense"; + + var random_bytes: [random_bytes_count]u8 = undefined; + var buf: [buf_size]u8 = undefined; + + std.crypto.random.bytes(&random_bytes); + const sub_path = std.fs.base64_encoder.encode(&buf, &random_bytes); + + // find all preopens + const allocator = std.heap.page_allocator; + var wasi_preopens = try std.fs.wasi.preopensAlloc(allocator); + + // look for the exact "/tmp" preopen match + const fd = std.fs.wasi.Preopens.find(wasi_preopens, path) orelse unreachable; + const base_dir = std.fs.Dir{ .fd = fd }; + + var tmp_path = base_dir.makeOpenPath(sub_path, .{}) catch + @panic("unable to make tmp dir for testing: /tmp/"); + + defer tmp_path.close(); + defer tmp_path.deleteTree(sub_path) catch {}; + + // create a file under /tmp//file.txt with contents "nonsense" + try tmp_path.writeFile(tmp_file_name, nonsense); + + // now look for the file as a single path + var tmp_dir_path_buf: [buf_size]u8 = undefined; + const tmp_dir_path = try std.fmt.bufPrint(&tmp_dir_path_buf, "{s}/{s}", .{ path, sub_path }); + + // find "/tmp/" using `findDir()` + const tmp_file_dir = try wasi_preopens.findDir(tmp_dir_path, .{}); + + const text = try tmp_file_dir.readFile(tmp_file_name, &buf); + + // ensure the file contents match "nonsense" + try testing.expect(std.mem.eql(u8, nonsense, text)); +} + +test "wasiPathPrefixMatches" { + try testing.expect(wasiPathPrefixMatches("/", "/foo")); + try testing.expect(wasiPathPrefixMatches("/testcases", "/testcases/test.txt")); + try testing.expect(wasiPathPrefixMatches("", "foo")); + try testing.expect(wasiPathPrefixMatches("foo", "foo")); + try testing.expect(wasiPathPrefixMatches("foo", "foo/bar")); + try testing.expect(!wasiPathPrefixMatches("bar", "foo/bar")); + try testing.expect(!wasiPathPrefixMatches("bar", "foo")); + try testing.expect(wasiPathPrefixMatches("foo", "foo/bar")); + try testing.expect(!wasiPathPrefixMatches("fooo", "foo")); + try testing.expect(!wasiPathPrefixMatches("foo", "fooo")); + try testing.expect(!wasiPathPrefixMatches("foo/bar", "foo")); + try testing.expect(!wasiPathPrefixMatches("bar/foo", "foo")); + try testing.expect(wasiPathPrefixMatches("/foo", "/foo")); + try testing.expect(wasiPathPrefixMatches("/foo", "/foo")); + try testing.expect(wasiPathPrefixMatches("/foo", "/foo/")); +} -- 2.54.0 From 4940afc434170966a9445b789374ba2a0f0318ab Mon Sep 17 00:00:00 2001 From: Edoardo Vacchi Date: Sat, 18 Feb 2023 22:29:11 +0100 Subject: [PATCH 04/36] skip when builtin.link_libc --- lib/std/fs/wasi.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/std/fs/wasi.zig b/lib/std/fs/wasi.zig index a8b9fae2e9651fc384e9208f48dd740272998921..d62b4137d68cb77e678766371ed17183c60c4b73 100644 --- a/lib/std/fs/wasi.zig +++ b/lib/std/fs/wasi.zig @@ -100,7 +100,7 @@ fn wasiPathPrefixMatches(prefix: []const u8, path: []const u8) bool { } test "preopens" { - if (builtin.os.tag != .wasi) return error.SkipZigTest; + if (builtin.os.tag != .wasi or builtin.link_libc) return error.SkipZigTest; // lifted from `testing` const random_bytes_count = 12; -- 2.54.0 From 5e7b09ce9fbc95ec9fb9e277d262b9b5a5aa1917 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sat, 18 Feb 2023 11:31:31 -0700 Subject: [PATCH 05/36] std.Build.RunStep: fix default caching logic RunStep is supposed to auto-detect whether the intend is for side-effects or for producing an output file. The auto-detection logic was incorrect, and this commit fixes it. I tested this manually locally. Automated testing will require a more significant investment in the test harness, which I will work on in a future enhancement. closes #14666 --- lib/std/Build/RunStep.zig | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/std/Build/RunStep.zig b/lib/std/Build/RunStep.zig index 5bc271409a626e0ba2b15f4ba9e8fc3a1adc367f..d3f48e4e87803cd8b05ec227a483ee4f7b1239af 100644 --- a/lib/std/Build/RunStep.zig +++ b/lib/std/Build/RunStep.zig @@ -188,6 +188,10 @@ fn stdIoActionToBehavior(action: StdIoAction) std.ChildProcess.StdIo { } fn needOutputCheck(self: RunStep) bool { + switch (self.condition) { + .always => return false, + .output_outdated => {}, + } if (self.extra_file_dependencies.len > 0) return true; for (self.argv.items) |arg| switch (arg) { @@ -195,10 +199,7 @@ fn needOutputCheck(self: RunStep) bool { else => continue, }; - return switch (self.condition) { - .always => false, - .output_outdated => true, - }; + return false; } fn make(step: *Step) !void { -- 2.54.0 From 1b7055b514955f1787937b2ef6097d2e0663da74 Mon Sep 17 00:00:00 2001 From: Veikka Tuominen Date: Mon, 30 Jan 2023 19:10:03 +0200 Subject: [PATCH 06/36] parse and render new for loop syntax --- lib/std/zig/Ast.zig | 117 +++++++++++++++++++--- lib/std/zig/Parse.zig | 193 +++++++++++++++++++++++++----------- lib/std/zig/parser_test.zig | 49 +++++++-- lib/std/zig/render.zig | 158 +++++++++++++++++++++++++---- 4 files changed, 411 insertions(+), 106 deletions(-) diff --git a/lib/std/zig/Ast.zig b/lib/std/zig/Ast.zig index 94cdcff4e7d686116974145a891df31e12ddcd9c..42eb28096680a09b0d31a77c8e0bb9a6f7ee9d11 100644 --- a/lib/std/zig/Ast.zig +++ b/lib/std/zig/Ast.zig @@ -386,6 +386,12 @@ pub fn renderError(tree: Ast, parse_error: Error, stream: anytype) !void { .expected_comma_after_switch_prong => { return stream.writeAll("expected ',' after switch prong"); }, + .expected_comma_after_for_operand => { + return stream.writeAll("expected ',' after for operand"); + }, + .expected_comma_after_capture => { + return stream.writeAll("expected ',' after for capture"); + }, .expected_initializer => { return stream.writeAll("expected field initializer"); }, @@ -420,6 +426,12 @@ pub fn renderError(tree: Ast, parse_error: Error, stream: anytype) !void { .var_const_decl => { return stream.writeAll("use 'var' or 'const' to declare variable"); }, + .extra_for_capture => { + return stream.writeAll("excess for captures"); + }, + .for_input_not_captured => { + return stream.writeAll("for input is not captured"); + }, .expected_token => { const found_tag = token_tags[parse_error.token + @boolToInt(parse_error.token_is_prev)]; @@ -568,6 +580,7 @@ pub fn firstToken(tree: Ast, node: Node.Index) TokenIndex { .call, .call_comma, .switch_range, + .for_range, .error_union, => n = datas[n].lhs, @@ -845,6 +858,12 @@ pub fn lastToken(tree: Ast, node: Node.Index) TokenIndex { .switch_range, => n = datas[n].rhs, + .for_range => if (datas[n].rhs != 0) { + n = datas[n].rhs; + } else { + return main_tokens[n] + end_offset; + }, + .field_access, .unwrap_optional, .grouped_expression, @@ -1263,11 +1282,15 @@ pub fn lastToken(tree: Ast, node: Node.Index) TokenIndex { assert(extra.else_expr != 0); n = extra.else_expr; }, - .@"if", .@"for" => { + .@"if" => { const extra = tree.extraData(datas[n].rhs, Node.If); assert(extra.else_expr != 0); n = extra.else_expr; }, + .@"for" => { + const extra = @bitCast(Node.For, datas[n].rhs); + n = tree.extra_data[datas[n].lhs + extra.inputs + @boolToInt(extra.has_else)]; + }, .@"suspend" => { if (datas[n].lhs != 0) { n = datas[n].lhs; @@ -1916,26 +1939,28 @@ pub fn whileFull(tree: Ast, node: Node.Index) full.While { }); } -pub fn forSimple(tree: Ast, node: Node.Index) full.While { - const data = tree.nodes.items(.data)[node]; - return tree.fullWhileComponents(.{ - .while_token = tree.nodes.items(.main_token)[node], - .cond_expr = data.lhs, - .cont_expr = 0, +pub fn forSimple(tree: Ast, node: Node.Index) full.For { + const data = &tree.nodes.items(.data)[node]; + const inputs: *[1]Node.Index = &data.lhs; + return tree.fullForComponents(.{ + .for_token = tree.nodes.items(.main_token)[node], + .inputs = inputs[0..1], .then_expr = data.rhs, .else_expr = 0, }); } -pub fn forFull(tree: Ast, node: Node.Index) full.While { +pub fn forFull(tree: Ast, node: Node.Index) full.For { const data = tree.nodes.items(.data)[node]; - const extra = tree.extraData(data.rhs, Node.If); - return tree.fullWhileComponents(.{ - .while_token = tree.nodes.items(.main_token)[node], - .cond_expr = data.lhs, - .cont_expr = 0, - .then_expr = extra.then_expr, - .else_expr = extra.else_expr, + const extra = @bitCast(Node.For, data.rhs); + const inputs = tree.extra_data[data.lhs..][0..extra.inputs]; + const then_expr = tree.extra_data[data.lhs + extra.inputs]; + const else_expr = if (extra.has_else) tree.extra_data[data.lhs + extra.inputs + 1] else 0; + return tree.fullForComponents(.{ + .for_token = tree.nodes.items(.main_token)[node], + .inputs = inputs, + .then_expr = then_expr, + .else_expr = else_expr, }); } @@ -2243,6 +2268,33 @@ fn fullWhileComponents(tree: Ast, info: full.While.Components) full.While { return result; } +fn fullForComponents(tree: Ast, info: full.For.Components) full.For { + const token_tags = tree.tokens.items(.tag); + var result: full.For = .{ + .ast = info, + .inline_token = null, + .label_token = null, + .payload_token = undefined, + .else_token = undefined, + }; + var tok_i = info.for_token - 1; + if (token_tags[tok_i] == .keyword_inline) { + result.inline_token = tok_i; + tok_i -= 1; + } + if (token_tags[tok_i] == .colon and + token_tags[tok_i - 1] == .identifier) + { + result.label_token = tok_i - 1; + } + const last_cond_token = tree.lastToken(info.inputs[info.inputs.len - 1]); + result.payload_token = last_cond_token + 3 + @boolToInt(token_tags[last_cond_token + 1] == .comma); + if (info.else_expr != 0) { + result.else_token = tree.lastToken(info.then_expr) + 1; + } + return result; +} + fn fullCallComponents(tree: Ast, info: full.Call.Components) full.Call { const token_tags = tree.tokens.items(.tag); var result: full.Call = .{ @@ -2279,6 +2331,12 @@ pub fn fullWhile(tree: Ast, node: Node.Index) ?full.While { .while_simple => tree.whileSimple(node), .while_cont => tree.whileCont(node), .@"while" => tree.whileFull(node), + else => null, + }; +} + +pub fn fullFor(tree: Ast, node: Node.Index) ?full.For { + return switch (tree.nodes.items(.tag)[node]) { .for_simple => tree.forSimple(node), .@"for" => tree.forFull(node), else => null, @@ -2453,6 +2511,22 @@ pub const full = struct { }; }; + pub const For = struct { + ast: Components, + inline_token: ?TokenIndex, + label_token: ?TokenIndex, + payload_token: TokenIndex, + /// Populated only if else_expr != 0. + else_token: TokenIndex, + + pub const Components = struct { + for_token: TokenIndex, + inputs: []const Node.Index, + then_expr: Node.Index, + else_expr: Node.Index, + }; + }; + pub const ContainerField = struct { comptime_token: ?TokenIndex, ast: Components, @@ -2795,6 +2869,8 @@ pub const Error = struct { expected_comma_after_param, expected_comma_after_initializer, expected_comma_after_switch_prong, + expected_comma_after_for_operand, + expected_comma_after_capture, expected_initializer, mismatched_binary_op_whitespace, invalid_ampersand_ampersand, @@ -2802,6 +2878,8 @@ pub const Error = struct { expected_var_const, wrong_equal_var_decl, var_const_decl, + extra_for_capture, + for_input_not_captured, zig_style_container, previous_field, @@ -3112,8 +3190,10 @@ pub const Node = struct { @"while", /// `for (lhs) rhs`. for_simple, - /// `for (lhs) a else b`. `if_list[rhs]`. + /// `for (lhs[0..inputs]) lhs[inputs + 1] else lhs[inputs + 2]`. `For[rhs]`. @"for", + /// `lhs..rhs`. + for_range, /// `if (lhs) rhs`. /// `if (lhs) |a| rhs`. if_simple, @@ -3369,6 +3449,11 @@ pub const Node = struct { then_expr: Index, }; + pub const For = packed struct(u32) { + inputs: u31, + has_else: bool, + }; + pub const FnProtoOne = struct { /// Populated if there is exactly 1 parameter. Otherwise there are 0 parameters. param: Index, diff --git a/lib/std/zig/Parse.zig b/lib/std/zig/Parse.zig index d498366b34de82c010796a037a55643e2050732d..7ef884d22cf8c39f4e2aa7176444f717e2f40bd7 100644 --- a/lib/std/zig/Parse.zig +++ b/lib/std/zig/Parse.zig @@ -104,6 +104,8 @@ fn warnMsg(p: *Parse, msg: Ast.Error) error{OutOfMemory}!void { .expected_comma_after_param, .expected_comma_after_initializer, .expected_comma_after_switch_prong, + .expected_comma_after_for_operand, + .expected_comma_after_capture, .expected_semi_or_else, .expected_semi_or_lbrace, .expected_token, @@ -1149,22 +1151,18 @@ fn parseLoopStatement(p: *Parse) !Node.Index { return p.fail(.expected_inlinable); } -/// ForPrefix <- KEYWORD_for LPAREN Expr RPAREN PtrIndexPayload -/// /// ForStatement /// <- ForPrefix BlockExpr ( KEYWORD_else Statement )? /// / ForPrefix AssignExpr ( SEMICOLON / KEYWORD_else Statement ) fn parseForStatement(p: *Parse) !Node.Index { const for_token = p.eatToken(.keyword_for) orelse return null_node; - _ = try p.expectToken(.l_paren); - const array_expr = try p.expectExpr(); - _ = try p.expectToken(.r_paren); - const found_payload = try p.parsePtrIndexPayload(); - if (found_payload == 0) try p.warn(.expected_loop_payload); - // TODO propose to change the syntax so that semicolons are always required - // inside while statements, even if there is an `else`. + const scratch_top = p.scratch.items.len; + defer p.scratch.shrinkRetainingCapacity(scratch_top); + const inputs = try p.forPrefix(); + var else_required = false; + var seen_semicolon = false; const then_expr = blk: { const block_expr = try p.parseBlockExpr(); if (block_expr != 0) break :blk block_expr; @@ -1173,39 +1171,40 @@ fn parseForStatement(p: *Parse) !Node.Index { return p.fail(.expected_block_or_assignment); } if (p.eatToken(.semicolon)) |_| { - return p.addNode(.{ - .tag = .for_simple, - .main_token = for_token, - .data = .{ - .lhs = array_expr, - .rhs = assign_expr, - }, - }); + seen_semicolon = true; + break :blk assign_expr; } else_required = true; break :blk assign_expr; }; - _ = p.eatToken(.keyword_else) orelse { - if (else_required) { - try p.warn(.expected_semi_or_else); - } + var has_else = false; + if (!seen_semicolon and p.eatToken(.keyword_else) != null) { + try p.scratch.append(p.gpa, then_expr); + const else_stmt = try p.expectStatement(false); + try p.scratch.append(p.gpa, else_stmt); + has_else = true; + } else if (inputs == 1) { + if (else_required) try p.warn(.expected_semi_or_else); return p.addNode(.{ .tag = .for_simple, .main_token = for_token, .data = .{ - .lhs = array_expr, + .lhs = p.scratch.items[scratch_top], .rhs = then_expr, }, }); - }; + } else { + if (else_required) try p.warn(.expected_semi_or_else); + try p.scratch.append(p.gpa, then_expr); + } return p.addNode(.{ .tag = .@"for", .main_token = for_token, .data = .{ - .lhs = array_expr, - .rhs = try p.addExtra(Node.If{ - .then_expr = then_expr, - .else_expr = try p.expectStatement(false), + .lhs = (try p.listToSpan(p.scratch.items[scratch_top..])).start, + .rhs = @bitCast(u32, Node.For{ + .inputs = @intCast(u31, inputs), + .has_else = has_else, }), }, }); @@ -2056,42 +2055,118 @@ fn parseBlock(p: *Parse) !Node.Index { } } -/// ForPrefix <- KEYWORD_for LPAREN Expr RPAREN PtrIndexPayload -/// /// ForExpr <- ForPrefix Expr (KEYWORD_else Expr)? fn parseForExpr(p: *Parse) !Node.Index { const for_token = p.eatToken(.keyword_for) orelse return null_node; - _ = try p.expectToken(.l_paren); - const array_expr = try p.expectExpr(); - _ = try p.expectToken(.r_paren); - const found_payload = try p.parsePtrIndexPayload(); - if (found_payload == 0) try p.warn(.expected_loop_payload); + + const scratch_top = p.scratch.items.len; + defer p.scratch.shrinkRetainingCapacity(scratch_top); + const inputs = try p.forPrefix(); const then_expr = try p.expectExpr(); - _ = p.eatToken(.keyword_else) orelse { + var has_else = false; + if (p.eatToken(.keyword_else)) |_| { + try p.scratch.append(p.gpa, then_expr); + const else_expr = try p.expectExpr(); + try p.scratch.append(p.gpa, else_expr); + has_else = true; + } else if (inputs == 1) { return p.addNode(.{ .tag = .for_simple, .main_token = for_token, .data = .{ - .lhs = array_expr, + .lhs = p.scratch.items[scratch_top], .rhs = then_expr, }, }); - }; - const else_expr = try p.expectExpr(); + } else { + try p.scratch.append(p.gpa, then_expr); + } return p.addNode(.{ .tag = .@"for", .main_token = for_token, .data = .{ - .lhs = array_expr, - .rhs = try p.addExtra(Node.If{ - .then_expr = then_expr, - .else_expr = else_expr, + .lhs = (try p.listToSpan(p.scratch.items[scratch_top..])).start, + .rhs = @bitCast(u32, Node.For{ + .inputs = @intCast(u31, inputs), + .has_else = has_else, }), }, }); } +/// ForPrefix <- KEYWORD_for LPAREN ForInput (COMMA ForInput)* COMMA? RPAREN ForPayload +/// +/// ForInput <- Expr (DOT2 Expr?)? +/// +/// ForPayload <- PIPE ASTERISK? IDENTIFIER (COMMA ASTERISK? IDENTIFIER)* PIPE +fn forPrefix(p: *Parse) Error!usize { + const start = p.scratch.items.len; + _ = try p.expectToken(.l_paren); + + while (true) { + var input = try p.expectExpr(); + if (p.eatToken(.ellipsis2)) |ellipsis| { + input = try p.addNode(.{ + .tag = .for_range, + .main_token = ellipsis, + .data = .{ + .lhs = input, + .rhs = try p.parseExpr(), + }, + }); + } + + try p.scratch.append(p.gpa, input); + switch (p.token_tags[p.tok_i]) { + .comma => p.tok_i += 1, + .r_paren => { + p.tok_i += 1; + break; + }, + .colon, .r_brace, .r_bracket => return p.failExpected(.r_paren), + // Likely just a missing comma; give error but continue parsing. + else => try p.warn(.expected_comma_after_for_operand), + } + if (p.eatToken(.r_paren)) |_| break; + } + const inputs = p.scratch.items.len - start; + + _ = p.eatToken(.pipe) orelse { + try p.warn(.expected_loop_payload); + return inputs; + }; + + var warned_excess = false; + var captures: u32 = 0; + while (true) { + _ = p.eatToken(.asterisk); + const identifier = try p.expectToken(.identifier); + captures += 1; + if (captures > inputs and !warned_excess) { + try p.warnMsg(.{ .tag = .extra_for_capture, .token = identifier }); + warned_excess = true; + } + switch (p.token_tags[p.tok_i]) { + .comma => p.tok_i += 1, + .pipe => { + p.tok_i += 1; + break; + }, + // Likely just a missing comma; give error but continue parsing. + else => try p.warn(.expected_comma_after_capture), + } + if (p.eatToken(.pipe)) |_| break; + } + + if (captures < inputs) { + const index = p.scratch.items.len - captures; + const input = p.nodes.items(.main_token)[p.scratch.items[index]]; + try p.warnMsg(.{ .tag = .for_input_not_captured, .token = input }); + } + return inputs; +} + /// WhilePrefix <- KEYWORD_while LPAREN Expr RPAREN PtrPayload? WhileContinueExpr? /// /// WhileExpr <- WhilePrefix Expr (KEYWORD_else Payload? Expr)? @@ -2752,37 +2827,41 @@ fn expectPrimaryTypeExpr(p: *Parse) !Node.Index { return node; } -/// ForPrefix <- KEYWORD_for LPAREN Expr RPAREN PtrIndexPayload -/// /// ForTypeExpr <- ForPrefix TypeExpr (KEYWORD_else TypeExpr)? fn parseForTypeExpr(p: *Parse) !Node.Index { const for_token = p.eatToken(.keyword_for) orelse return null_node; - _ = try p.expectToken(.l_paren); - const array_expr = try p.expectExpr(); - _ = try p.expectToken(.r_paren); - const found_payload = try p.parsePtrIndexPayload(); - if (found_payload == 0) try p.warn(.expected_loop_payload); + + const scratch_top = p.scratch.items.len; + defer p.scratch.shrinkRetainingCapacity(scratch_top); + const inputs = try p.forPrefix(); const then_expr = try p.expectTypeExpr(); - _ = p.eatToken(.keyword_else) orelse { + var has_else = false; + if (p.eatToken(.keyword_else)) |_| { + try p.scratch.append(p.gpa, then_expr); + const else_expr = try p.expectTypeExpr(); + try p.scratch.append(p.gpa, else_expr); + has_else = true; + } else if (inputs == 1) { return p.addNode(.{ .tag = .for_simple, .main_token = for_token, .data = .{ - .lhs = array_expr, + .lhs = p.scratch.items[scratch_top], .rhs = then_expr, }, }); - }; - const else_expr = try p.expectTypeExpr(); + } else { + try p.scratch.append(p.gpa, then_expr); + } return p.addNode(.{ .tag = .@"for", .main_token = for_token, .data = .{ - .lhs = array_expr, - .rhs = try p.addExtra(Node.If{ - .then_expr = then_expr, - .else_expr = else_expr, + .lhs = (try p.listToSpan(p.scratch.items[scratch_top..])).start, + .rhs = @bitCast(u32, Node.For{ + .inputs = @intCast(u31, inputs), + .has_else = has_else, }), }, }); diff --git a/lib/std/zig/parser_test.zig b/lib/std/zig/parser_test.zig index 3c44322ccc7f8d47472fe711a265d0af9f9c04b0..d24dedfeffb5943f7a26a96e1ce8d9b028487dd5 100644 --- a/lib/std/zig/parser_test.zig +++ b/lib/std/zig/parser_test.zig @@ -3457,11 +3457,11 @@ test "zig fmt: for" { \\ for (a) |*v| \\ continue; \\ - \\ for (a) |v, i| { + \\ for (a, 0..) |v, i| { \\ continue; \\ } \\ - \\ for (a) |v, i| + \\ for (a, 0..) |v, i| \\ continue; \\ \\ for (a) |b| switch (b) { @@ -3469,17 +3469,24 @@ test "zig fmt: for" { \\ d => {}, \\ }; \\ - \\ const res = for (a) |v, i| { + \\ const res = for (a, 0..) |v, i| { \\ break v; \\ } else { \\ unreachable; \\ }; \\ \\ var num: usize = 0; - \\ inline for (a) |v, i| { + \\ inline for (a, 0..1) |v, i| { \\ num += v; \\ num += i; \\ } + \\ + \\ for (a, b) | + \\ long_name, + \\ another_long_name, + \\ | { + \\ continue; + \\ } \\} \\ ); @@ -3499,6 +3506,26 @@ test "zig fmt: for" { \\} \\ ); + + try testTransform( + \\test "fix for" { + \\ for (a, b, c,) |long, another, third,| {} + \\} + \\ + , + \\test "fix for" { + \\ for ( + \\ a, + \\ b, + \\ c, + \\ ) | + \\ long, + \\ another, + \\ third, + \\ | {} + \\} + \\ + ); } test "zig fmt: for if" { @@ -4358,7 +4385,7 @@ test "zig fmt: hex literals with underscore separators" { try testTransform( \\pub fn orMask(a: [ 1_000 ]u64, b: [ 1_000] u64) [1_000]u64 { \\ var c: [1_000]u64 = [1]u64{ 0xFFFF_FFFF_FFFF_FFFF}**1_000; - \\ for (c [ 1_0 .. ]) |_, i| { + \\ for (c [ 1_0 .. ], 0..) |_, i| { \\ c[i] = (a[i] | b[i]) & 0xCCAA_CCAA_CCAA_CCAA; \\ } \\ return c; @@ -4368,7 +4395,7 @@ test "zig fmt: hex literals with underscore separators" { , \\pub fn orMask(a: [1_000]u64, b: [1_000]u64) [1_000]u64 { \\ var c: [1_000]u64 = [1]u64{0xFFFF_FFFF_FFFF_FFFF} ** 1_000; - \\ for (c[1_0..]) |_, i| { + \\ for (c[1_0..], 0..) |_, i| { \\ c[i] = (a[i] | b[i]) & 0xCCAA_CCAA_CCAA_CCAA; \\ } \\ return c; @@ -4880,10 +4907,10 @@ test "zig fmt: remove trailing whitespace after doc comment" { test "zig fmt: for loop with ptr payload and index" { try testCanonical( \\test { - \\ for (self.entries.items) |*item, i| {} - \\ for (self.entries.items) |*item, i| + \\ for (self.entries.items, 0..) |*item, i| {} + \\ for (self.entries.items, 0..) |*item, i| \\ a = b; - \\ for (self.entries.items) |*item, i| a = b; + \\ for (self.entries.items, 0..) |*item, i| a = b; \\} \\ ); @@ -5471,7 +5498,7 @@ test "zig fmt: canonicalize symbols (primitive types)" { \\ _ = @"void": { \\ break :@"void"; \\ }; - \\ for ("hi") |@"u3", @"i4"| { + \\ for ("hi", 0..) |@"u3", @"i4"| { \\ _ = @"u3"; \\ _ = @"i4"; \\ } @@ -5523,7 +5550,7 @@ test "zig fmt: canonicalize symbols (primitive types)" { \\ _ = void: { \\ break :void; \\ }; - \\ for ("hi") |@"u3", @"i4"| { + \\ for ("hi", 0..) |@"u3", @"i4"| { \\ _ = @"u3"; \\ _ = @"i4"; \\ } diff --git a/lib/std/zig/render.zig b/lib/std/zig/render.zig index 97bc85efac67f488326bc73c9ac2164db085e4f4..0e8d3125acb5d5d85eecc1e9aaf5f2f835c49519 100644 --- a/lib/std/zig/render.zig +++ b/lib/std/zig/render.zig @@ -353,6 +353,16 @@ fn renderExpression(gpa: Allocator, ais: *Ais, tree: Ast, node: Ast.Node.Index, try renderToken(ais, tree, main_tokens[node], .none); return renderExpression(gpa, ais, tree, infix.rhs, space); }, + .for_range => { + const infix = datas[node]; + try renderExpression(gpa, ais, tree, infix.lhs, .none); + if (infix.rhs != 0) { + try renderToken(ais, tree, main_tokens[node], .none); + return renderExpression(gpa, ais, tree, infix.rhs, space); + } else { + return renderToken(ais, tree, main_tokens[node], space); + } + }, .add, .add_wrap, @@ -694,10 +704,12 @@ fn renderExpression(gpa: Allocator, ais: *Ais, tree: Ast, node: Ast.Node.Index, .while_simple, .while_cont, .@"while", - .for_simple, - .@"for", => return renderWhile(gpa, ais, tree, tree.fullWhile(node).?, space), + .for_simple, + .@"for", + => return renderFor(gpa, ais, tree, tree.fullFor(node).?, space), + .if_simple, .@"if", => return renderIf(gpa, ais, tree, tree.fullIf(node).?, space), @@ -1054,10 +1066,9 @@ fn renderIf(gpa: Allocator, ais: *Ais, tree: Ast, if_node: Ast.full.If, space: S }, space); } -/// Note that this function is additionally used to render if and for expressions, with +/// Note that this function is additionally used to render if expressions, with /// respective values set to null. fn renderWhile(gpa: Allocator, ais: *Ais, tree: Ast, while_node: Ast.full.While, space: Space) Error!void { - const node_tags = tree.nodes.items(.tag); const token_tags = tree.tokens.items(.tag); if (while_node.label_token) |label| { @@ -1108,9 +1119,34 @@ fn renderWhile(gpa: Allocator, ais: *Ais, tree: Ast, while_node: Ast.full.While, last_prefix_token = tree.lastToken(while_node.ast.cont_expr) + 1; // rparen } - const then_expr_is_block = nodeIsBlock(node_tags[while_node.ast.then_expr]); + try renderThenElse( + gpa, + ais, + tree, + last_prefix_token, + while_node.ast.then_expr, + while_node.else_token, + while_node.error_token, + while_node.ast.else_expr, + space, + ); +} + +fn renderThenElse( + gpa: Allocator, + ais: *Ais, + tree: Ast, + last_prefix_token: Ast.TokenIndex, + then_expr: Ast.Node.Index, + else_token: Ast.TokenIndex, + maybe_error_token: ?Ast.TokenIndex, + else_expr: Ast.Node.Index, + space: Space, +) Error!void { + const node_tags = tree.nodes.items(.tag); + const then_expr_is_block = nodeIsBlock(node_tags[then_expr]); const indent_then_expr = !then_expr_is_block and - !tree.tokensOnSameLine(last_prefix_token, tree.firstToken(while_node.ast.then_expr)); + !tree.tokensOnSameLine(last_prefix_token, tree.firstToken(then_expr)); if (indent_then_expr or (then_expr_is_block and ais.isLineOverIndented())) { ais.pushIndentNextLine(); try renderToken(ais, tree, last_prefix_token, .newline); @@ -1119,45 +1155,115 @@ fn renderWhile(gpa: Allocator, ais: *Ais, tree: Ast, while_node: Ast.full.While, try renderToken(ais, tree, last_prefix_token, .space); } - if (while_node.ast.else_expr != 0) { + if (else_expr != 0) { if (indent_then_expr) { ais.pushIndent(); - try renderExpression(gpa, ais, tree, while_node.ast.then_expr, .newline); + try renderExpression(gpa, ais, tree, then_expr, .newline); ais.popIndent(); } else { - try renderExpression(gpa, ais, tree, while_node.ast.then_expr, .space); + try renderExpression(gpa, ais, tree, then_expr, .space); } - var last_else_token = while_node.else_token; + var last_else_token = else_token; - if (while_node.error_token) |error_token| { - try renderToken(ais, tree, while_node.else_token, .space); // else + if (maybe_error_token) |error_token| { + try renderToken(ais, tree, else_token, .space); // else try renderToken(ais, tree, error_token - 1, .none); // | try renderIdentifier(ais, tree, error_token, .none, .preserve_when_shadowing); // identifier last_else_token = error_token + 1; // | } const indent_else_expr = indent_then_expr and - !nodeIsBlock(node_tags[while_node.ast.else_expr]) and - !nodeIsIfForWhileSwitch(node_tags[while_node.ast.else_expr]); + !nodeIsBlock(node_tags[else_expr]) and + !nodeIsIfForWhileSwitch(node_tags[else_expr]); if (indent_else_expr) { ais.pushIndentNextLine(); try renderToken(ais, tree, last_else_token, .newline); ais.popIndent(); - try renderExpressionIndented(gpa, ais, tree, while_node.ast.else_expr, space); + try renderExpressionIndented(gpa, ais, tree, else_expr, space); } else { try renderToken(ais, tree, last_else_token, .space); - try renderExpression(gpa, ais, tree, while_node.ast.else_expr, space); + try renderExpression(gpa, ais, tree, else_expr, space); } } else { if (indent_then_expr) { - try renderExpressionIndented(gpa, ais, tree, while_node.ast.then_expr, space); + try renderExpressionIndented(gpa, ais, tree, then_expr, space); } else { - try renderExpression(gpa, ais, tree, while_node.ast.then_expr, space); + try renderExpression(gpa, ais, tree, then_expr, space); } } } +fn renderFor(gpa: Allocator, ais: *Ais, tree: Ast, for_node: Ast.full.For, space: Space) Error!void { + const token_tags = tree.tokens.items(.tag); + + if (for_node.label_token) |label| { + try renderIdentifier(ais, tree, label, .none, .eagerly_unquote); // label + try renderToken(ais, tree, label + 1, .space); // : + } + + if (for_node.inline_token) |inline_token| { + try renderToken(ais, tree, inline_token, .space); // inline + } + + try renderToken(ais, tree, for_node.ast.for_token, .space); // if/for/while + + const lparen = for_node.ast.for_token + 1; + try renderParamList(gpa, ais, tree, lparen, for_node.ast.inputs, .space); + + var cur = for_node.payload_token; + const pipe = std.mem.indexOfScalarPos(std.zig.Token.Tag, token_tags, cur, .pipe).?; + if (token_tags[pipe - 1] == .comma) { + ais.pushIndentNextLine(); + try renderToken(ais, tree, cur - 1, .newline); // | + while (true) { + if (token_tags[cur] == .asterisk) { + try renderToken(ais, tree, cur, .none); // * + cur += 1; + } + try renderIdentifier(ais, tree, cur, .none, .preserve_when_shadowing); // identifier + cur += 1; + if (token_tags[cur] == .comma) { + try renderToken(ais, tree, cur, .newline); // , + cur += 1; + } + if (token_tags[cur] == .pipe) { + break; + } + } + ais.popIndent(); + } else { + try renderToken(ais, tree, cur - 1, .none); // | + while (true) { + if (token_tags[cur] == .asterisk) { + try renderToken(ais, tree, cur, .none); // * + cur += 1; + } + try renderIdentifier(ais, tree, cur, .none, .preserve_when_shadowing); // identifier + cur += 1; + if (token_tags[cur] == .comma) { + try renderToken(ais, tree, cur, .space); // , + cur += 1; + } + if (token_tags[cur] == .pipe) { + break; + } + } + } + + try renderThenElse( + gpa, + ais, + tree, + cur, + for_node.ast.then_expr, + for_node.else_token, + null, + for_node.ast.else_expr, + space, + ); +} + fn renderContainerField( gpa: Allocator, ais: *Ais, @@ -2206,15 +2312,23 @@ fn renderCall( call: Ast.full.Call, space: Space, ) Error!void { - const token_tags = tree.tokens.items(.tag); - if (call.async_token) |async_token| { try renderToken(ais, tree, async_token, .space); } try renderExpression(gpa, ais, tree, call.ast.fn_expr, .none); + try renderParamList(gpa, ais, tree, call.ast.lparen, call.ast.params, space); +} + +fn renderParamList( + gpa: Allocator, + ais: *Ais, + tree: Ast, + lparen: Ast.TokenIndex, + params: []const Ast.Node.Index, + space: Space, +) Error!void { + const token_tags = tree.tokens.items(.tag); - const lparen = call.ast.lparen; - const params = call.ast.params; if (params.len == 0) { ais.pushIndentNextLine(); try renderToken(ais, tree, lparen, .none); -- 2.54.0 From 6733e43d87d4fe7b9d89948ebb95a72515c44fee Mon Sep 17 00:00:00 2001 From: Veikka Tuominen Date: Wed, 1 Feb 2023 20:39:09 +0200 Subject: [PATCH 07/36] AstGen: work-in-progress multi-object for loops --- src/AstGen.zig | 217 +++++++++++++++++++++++++++++++------------------ 1 file changed, 140 insertions(+), 77 deletions(-) diff --git a/src/AstGen.zig b/src/AstGen.zig index 40eef32d4ebb06d86b7aa4407550ed8f7c4c87f1..ee709a3fe20b8ff3b9945a1d78a63deff4a31e4a 100644 --- a/src/AstGen.zig +++ b/src/AstGen.zig @@ -518,6 +518,7 @@ fn lvalExpr(gz: *GenZir, scope: *Scope, node: Ast.Node.Index) InnerError!Zir.Ins .error_union, .merge_error_sets, .switch_range, + .for_range, .@"await", .bit_not, .negation, @@ -646,6 +647,8 @@ fn expr(gz: *GenZir, scope: *Scope, ri: ResultInfo, node: Ast.Node.Index) InnerE .asm_output => unreachable, // Handled in `asmExpr`. .asm_input => unreachable, // Handled in `asmExpr`. + .for_range => unreachable, // Handled in `forExpr`. + .assign => { try assign(gz, scope, node); return rvalue(gz, ri, .void_value, node); @@ -834,7 +837,7 @@ fn expr(gz: *GenZir, scope: *Scope, ri: ResultInfo, node: Ast.Node.Index) InnerE .@"while", => return whileExpr(gz, scope, ri.br(), node, tree.fullWhile(node).?, false), - .for_simple, .@"for" => return forExpr(gz, scope, ri.br(), node, tree.fullWhile(node).?, false), + .for_simple, .@"for" => return forExpr(gz, scope, ri.br(), node, tree.fullFor(node).?, false), .slice_open => { const lhs = try expr(gz, scope, .{ .rl = .ref }, node_datas[node].lhs); @@ -2342,7 +2345,7 @@ fn blockExprStmts(gz: *GenZir, parent_scope: *Scope, statements: []const Ast.Nod .@"while", => _ = try whileExpr(gz, scope, .{ .rl = .discard }, inner_node, tree.fullWhile(inner_node).?, true), .for_simple, - .@"for", => _ = try forExpr(gz, scope, .{ .rl = .discard }, inner_node, tree.fullWhile(inner_node).?, true), + .@"for", => _ = try forExpr(gz, scope, .{ .rl = .discard }, inner_node, tree.fullFor(inner_node).?, true), else => noreturn_src_node = try unusedResultExpr(gz, scope, inner_node), // zig fmt: on @@ -6282,7 +6285,7 @@ fn forExpr( scope: *Scope, ri: ResultInfo, node: Ast.Node.Index, - for_full: Ast.full.While, + for_full: Ast.full.For, is_statement: bool, ) InnerError!Zir.Inst.Ref { const astgen = parent_gz.astgen; @@ -6295,23 +6298,79 @@ fn forExpr( const is_inline = parent_gz.force_comptime or for_full.inline_token != null; const tree = astgen.tree; const token_tags = tree.tokens.items(.tag); + const node_tags = tree.nodes.items(.tag); + const node_data = tree.nodes.items(.data); - const payload_is_ref = if (for_full.payload_token) |payload_token| - token_tags[payload_token] == .asterisk - else - false; + // Check for unterminated ranges. + { + var unterminated: ?Ast.Node.Index = null; + for (for_full.ast.inputs) |input| { + if (node_tags[input] != .for_range) break; + if (node_data[input].rhs != 0) break; + unterminated = unterminated orelse input; + } else { + return astgen.failNode(unterminated.?, "unterminated for range", .{}); + } + } - try emitDbgNode(parent_gz, for_full.ast.cond_expr); + var lens = astgen.gpa.alloc(Zir.Inst.Ref, for_full.ast.inputs.len); + defer astgen.gpa.free(lens); + var indexables = astgen.gpa.alloc(Zir.Inst.Ref, for_full.ast.inputs.len); + defer astgen.gpa.free(indexables); + var counters = std.ArrayList(Zir.Inst.Ref).init(astgen.gpa); + defer counters.deinit(); - const cond_ri: ResultInfo = .{ .rl = if (payload_is_ref) .ref else .none }; - const array_ptr = try expr(parent_gz, scope, cond_ri, for_full.ast.cond_expr); - const len = try parent_gz.addUnNode(.indexable_ptr_len, array_ptr, for_full.ast.cond_expr); + const counter_alloc_tag: Zir.Inst.Tag = if (is_inline) .alloc_comptime_mut else .alloc; + + { + var payload = for_full.payload_token; + for (for_full.ast.inputs) |input, i| { + const payload_is_ref = token_tags[payload] == .asterisk; + const ident_tok = payload + @boolToInt(payload_is_ref); + + if (mem.eql(u8, tree.tokenSlice(ident_tok), "_") and payload_is_ref) { + return astgen.failTok(payload, "pointer modifier invalid on discard", .{}); + } + payload = ident_tok + @as(u32, 2); + + try emitDbgNode(parent_gz, input); + if (node_tags[input] == .for_range) { + if (payload_is_ref) { + return astgen.failTok(ident_tok, "cannot capture reference to range", .{}); + } + const counter_ptr = try parent_gz.addUnNode(counter_alloc_tag, .usize_type, node); + const start_val = try expr(parent_gz, scope, node_data[input].lhs, input); + _ = try parent_gz.addBin(.store, counter_ptr, start_val); + indexables[i] = counter_ptr; + try counters.append(counter_ptr); + + const end_node = node_data[input].rhs; + const end_val = if (end_node != 0) try expr(parent_gz, scope, node_data[input].rhs, input) else .none; + const range_len = try parent_gz.addPlNode(.for_range_len, input, Zir.Inst.Bin{ + .lhs = start_val, + .rhs = end_val, + }); + lens[i] = range_len; + } else { + const cond_ri: ResultInfo = .{ .rl = if (payload_is_ref) .ref else .none }; + const indexable = try expr(parent_gz, scope, cond_ri, input); + indexables[i] = indexable; + + const indexable_len = try parent_gz.addUnNode(.indexable_ptr_len, indexable, input); + lens[i] = indexable_len; + } + } + } + + const len = "check_for_lens"; const index_ptr = blk: { - const alloc_tag: Zir.Inst.Tag = if (is_inline) .alloc_comptime_mut else .alloc; - const index_ptr = try parent_gz.addUnNode(alloc_tag, .usize_type, node); + // Future optimization: + // for loops with only ranges don't need a separate index variable. + const index_ptr = try parent_gz.addUnNode(counter_alloc_tag, .usize_type, node); // initialize to zero _ = try parent_gz.addBin(.store, index_ptr, .zero_usize); + try counters.append(index_ptr); break :blk index_ptr; }; @@ -6343,13 +6402,15 @@ fn forExpr( // cond_block unstacked now, can add new instructions to loop_scope try loop_scope.instructions.append(astgen.gpa, cond_block); - // Increment the index variable. - const index_2 = try loop_scope.addUnNode(.load, index_ptr, for_full.ast.cond_expr); - const index_plus_one = try loop_scope.addPlNode(.add, node, Zir.Inst.Bin{ - .lhs = index_2, - .rhs = .one_usize, - }); - _ = try loop_scope.addBin(.store, index_ptr, index_plus_one); + // Increment the index variable and ranges. + for (counters) |counter_ptr| { + const counter = try loop_scope.addUnNode(.load, counter_ptr, for_full.ast.cond_expr); + const counter_plus_one = try loop_scope.addPlNode(.add, node, Zir.Inst.Bin{ + .lhs = counter, + .rhs = .one_usize, + }); + _ = try loop_scope.addBin(.store, counter_ptr, counter_plus_one); + } const repeat_tag: Zir.Inst.Tag = if (is_inline) .repeat_inline else .repeat; _ = try loop_scope.addNode(repeat_tag, node); @@ -6366,64 +6427,62 @@ fn forExpr( var then_scope = parent_gz.makeSubBlock(&cond_scope.base); defer then_scope.unstack(); - try then_scope.addDbgBlockBegin(); - var payload_val_scope: Scope.LocalVal = undefined; - var index_scope: Scope.LocalPtr = undefined; - const then_sub_scope = blk: { - const payload_token = for_full.payload_token.?; - const ident = if (token_tags[payload_token] == .asterisk) - payload_token + 1 - else - payload_token; - const is_ptr = ident != payload_token; - const value_name = tree.tokenSlice(ident); - var payload_sub_scope: *Scope = undefined; - if (!mem.eql(u8, value_name, "_")) { - const name_str_index = try astgen.identAsString(ident); - const tag: Zir.Inst.Tag = if (is_ptr) .elem_ptr else .elem_val; - const payload_inst = try then_scope.addPlNode(tag, for_full.ast.cond_expr, Zir.Inst.Bin{ - .lhs = array_ptr, - .rhs = index, - }); - try astgen.detectLocalShadowing(&then_scope.base, name_str_index, ident, value_name, .capture); - payload_val_scope = .{ - .parent = &then_scope.base, - .gen_zir = &then_scope, - .name = name_str_index, - .inst = payload_inst, - .token_src = ident, - .id_cat = .capture, - }; - try then_scope.addDbgVar(.dbg_var_val, name_str_index, payload_inst); - payload_sub_scope = &payload_val_scope.base; - } else if (is_ptr) { - return astgen.failTok(payload_token, "pointer modifier invalid on discard", .{}); - } else { - payload_sub_scope = &then_scope.base; - } + const then_sub_scope = &then_scope.base; - const index_token = if (token_tags[ident + 1] == .comma) - ident + 2 - else - break :blk payload_sub_scope; - const token_bytes = tree.tokenSlice(index_token); - if (mem.eql(u8, token_bytes, "_")) { - return astgen.failTok(index_token, "discard of index capture; omit it instead", .{}); - } - const index_name = try astgen.identAsString(index_token); - try astgen.detectLocalShadowing(payload_sub_scope, index_name, index_token, token_bytes, .@"loop index capture"); - index_scope = .{ - .parent = payload_sub_scope, - .gen_zir = &then_scope, - .name = index_name, - .ptr = index_ptr, - .token_src = index_token, - .maybe_comptime = is_inline, - .id_cat = .@"loop index capture", - }; - try then_scope.addDbgVar(.dbg_var_val, index_name, index_ptr); - break :blk &index_scope.base; - }; + // try then_scope.addDbgBlockBegin(); + // var payload_val_scope: Scope.LocalVal = undefined; + // var index_scope: Scope.LocalPtr = undefined; + // const then_sub_scope = blk: { + // const payload_token = for_full.payload_token.?; + // const ident = if (token_tags[payload_token] == .asterisk) + // payload_token + 1 + // else + // payload_token; + // const is_ptr = ident != payload_token; + // const value_name = tree.tokenSlice(ident); + // var payload_sub_scope: *Scope = undefined; + // if (!mem.eql(u8, value_name, "_")) { + // const name_str_index = try astgen.identAsString(ident); + // const tag: Zir.Inst.Tag = if (is_ptr) .elem_ptr else .elem_val; + // const payload_inst = try then_scope.addPlNode(tag, for_full.ast.cond_expr, Zir.Inst.Bin{ + // .lhs = array_ptr, + // .rhs = index, + // }); + // try astgen.detectLocalShadowing(&then_scope.base, name_str_index, ident, value_name, .capture); + // payload_val_scope = .{ + // .parent = &then_scope.base, + // .gen_zir = &then_scope, + // .name = name_str_index, + // .inst = payload_inst, + // .token_src = ident, + // .id_cat = .capture, + // }; + // try then_scope.addDbgVar(.dbg_var_val, name_str_index, payload_inst); + // payload_sub_scope = &payload_val_scope.base; + // } else if (is_ptr) { + // } else { + // payload_sub_scope = &then_scope.base; + // } + + // const index_token = if (token_tags[ident + 1] == .comma) + // ident + 2 + // else + // break :blk payload_sub_scope; + // const token_bytes = tree.tokenSlice(index_token); + // const index_name = try astgen.identAsString(index_token); + // try astgen.detectLocalShadowing(payload_sub_scope, index_name, index_token, token_bytes, .@"loop index capture"); + // index_scope = .{ + // .parent = payload_sub_scope, + // .gen_zir = &then_scope, + // .name = index_name, + // .ptr = index_ptr, + // .token_src = index_token, + // .maybe_comptime = is_inline, + // .id_cat = .@"loop index capture", + // }; + // try then_scope.addDbgVar(.dbg_var_val, index_name, index_ptr); + // break :blk &index_scope.base; + // }; const then_result = try expr(&then_scope, then_sub_scope, .{ .rl = .none }, for_full.ast.then_expr); _ = try addEnsureResult(&then_scope, then_result, for_full.ast.then_expr); @@ -9021,6 +9080,7 @@ fn nodeMayNeedMemoryLocation(tree: *const Ast, start_node: Ast.Node.Index, have_ .mul_wrap, .mul_sat, .switch_range, + .for_range, .field_access, .sub, .sub_wrap, @@ -9310,6 +9370,7 @@ fn nodeMayEvalToError(tree: *const Ast, start_node: Ast.Node.Index) BuiltinFn.Ev .mul_wrap, .mul_sat, .switch_range, + .for_range, .sub, .sub_wrap, .sub_sat, @@ -9487,6 +9548,7 @@ fn nodeImpliesMoreThanOnePossibleValue(tree: *const Ast, start_node: Ast.Node.In .mul_wrap, .mul_sat, .switch_range, + .for_range, .field_access, .sub, .sub_wrap, @@ -9731,6 +9793,7 @@ fn nodeImpliesComptimeOnly(tree: *const Ast, start_node: Ast.Node.Index) bool { .mul_wrap, .mul_sat, .switch_range, + .for_range, .field_access, .sub, .sub_wrap, -- 2.54.0 From faa44e2e5875036b105d8b7d38ccb2e93757a3c5 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Fri, 17 Feb 2023 11:51:22 -0700 Subject: [PATCH 08/36] AstGen: rework multi-object for loop * Allow unbounded looping. * Lower by incrementing raw pointers for each iterable rather than incrementing a single index variable. This elides safety checks without any analysis required thanks to the length assertion and lowers to decent machine code even in debug builds. - An "end" value is selected, prioritizing a counter if possible, falling back to a runtime calculation of ptr+len on a slice input. * Specialize on the pattern `0..`, avoiding an unnecessary subtraction instruction being emitted. * Add the `for_check_lens` ZIR instruction. --- src/AstGen.zig | 169 +++++++++++++++++++++++++++++++--------------- src/Sema.zig | 15 ++++ src/Zir.zig | 12 ++++ src/print_zir.zig | 15 ++++ 4 files changed, 156 insertions(+), 55 deletions(-) diff --git a/src/AstGen.zig b/src/AstGen.zig index ee709a3fe20b8ff3b9945a1d78a63deff4a31e4a..7d3a165d2f2d540b38483b724cc81cf774e8a95b 100644 --- a/src/AstGen.zig +++ b/src/AstGen.zig @@ -2666,6 +2666,7 @@ fn addEnsureResult(gz: *GenZir, maybe_unused_result: Zir.Inst.Ref, statement: As .validate_deref, .save_err_ret_index, .restore_err_ret_index, + .for_check_lens, => break :b true, .@"defer" => unreachable, @@ -6294,37 +6295,35 @@ fn forExpr( try astgen.checkLabelRedefinition(scope, label_token); } - // Set up variables and constants. const is_inline = parent_gz.force_comptime or for_full.inline_token != null; const tree = astgen.tree; const token_tags = tree.tokens.items(.tag); const node_tags = tree.nodes.items(.tag); const node_data = tree.nodes.items(.data); + const gpa = astgen.gpa; - // Check for unterminated ranges. - { - var unterminated: ?Ast.Node.Index = null; - for (for_full.ast.inputs) |input| { - if (node_tags[input] != .for_range) break; - if (node_data[input].rhs != 0) break; - unterminated = unterminated orelse input; - } else { - return astgen.failNode(unterminated.?, "unterminated for range", .{}); - } - } - - var lens = astgen.gpa.alloc(Zir.Inst.Ref, for_full.ast.inputs.len); - defer astgen.gpa.free(lens); - var indexables = astgen.gpa.alloc(Zir.Inst.Ref, for_full.ast.inputs.len); - defer astgen.gpa.free(indexables); - var counters = std.ArrayList(Zir.Inst.Ref).init(astgen.gpa); - defer counters.deinit(); + const allocs = try gpa.alloc(Zir.Inst.Ref, for_full.ast.inputs.len); + defer gpa.free(allocs); + // elements of this array can be `none`, indicating no length check. + const lens = try gpa.alloc(Zir.Inst.Ref, for_full.ast.inputs.len); + defer gpa.free(lens); const counter_alloc_tag: Zir.Inst.Tag = if (is_inline) .alloc_comptime_mut else .alloc; + // Tracks the index of allocs/lens that has a length to be checked and is + // used for the end value. + // If this is null, there are no len checks. + var end_input_index: ?u32 = null; + // This is a value to use to find out if the for loop has reached the end + // yet. It prefers to use a counter since the end value is provided directly, + // and otherwise falls back to adding ptr+len of a slice to compute end. + // Corresponds to end_input_index and will be .none in case that value is null. + var cond_end_val: Zir.Inst.Ref = .none; + { var payload = for_full.payload_token; - for (for_full.ast.inputs) |input, i| { + for (for_full.ast.inputs) |input, i_usize| { + const i = @intCast(u32, i_usize); const payload_is_ref = token_tags[payload] == .asterisk; const ident_tok = payload + @boolToInt(payload_is_ref); @@ -6339,59 +6338,101 @@ fn forExpr( return astgen.failTok(ident_tok, "cannot capture reference to range", .{}); } const counter_ptr = try parent_gz.addUnNode(counter_alloc_tag, .usize_type, node); - const start_val = try expr(parent_gz, scope, node_data[input].lhs, input); + const start_node = node_data[input].lhs; + const start_val = try expr(parent_gz, scope, .{ .rl = .none }, start_node); _ = try parent_gz.addBin(.store, counter_ptr, start_val); - indexables[i] = counter_ptr; - try counters.append(counter_ptr); const end_node = node_data[input].rhs; - const end_val = if (end_node != 0) try expr(parent_gz, scope, node_data[input].rhs, input) else .none; - const range_len = try parent_gz.addPlNode(.for_range_len, input, Zir.Inst.Bin{ - .lhs = start_val, - .rhs = end_val, - }); + const end_val = if (end_node != 0) + try expr(parent_gz, scope, .{ .rl = .none }, node_data[input].rhs) + else + .none; + + const range_len = if (end_val == .none or nodeIsTriviallyZero(tree, start_node)) + end_val + else + try parent_gz.addPlNode(.sub, input, Zir.Inst.Bin{ + .lhs = end_val, + .rhs = start_val, + }); + + if (range_len != .none and cond_end_val == .none) { + end_input_index = i; + cond_end_val = end_val; + } + + allocs[i] = counter_ptr; lens[i] = range_len; } else { const cond_ri: ResultInfo = .{ .rl = if (payload_is_ref) .ref else .none }; const indexable = try expr(parent_gz, scope, cond_ri, input); - indexables[i] = indexable; + const base_ptr = try parent_gz.addPlNode(.elem_ptr_imm, input, Zir.Inst.ElemPtrImm{ + .ptr = indexable, + .index = 0, + }); - const indexable_len = try parent_gz.addUnNode(.indexable_ptr_len, indexable, input); - lens[i] = indexable_len; + if (end_input_index == null) { + end_input_index = i; + assert(cond_end_val == .none); + } + + allocs[i] = base_ptr; + lens[i] = try parent_gz.addUnNode(.indexable_ptr_len, indexable, input); } } } - const len = "check_for_lens"; + // In case there are no counters which already have an end computed, we + // compute an end from base pointer plus length. + if (end_input_index) |i| { + if (cond_end_val == .none) { + cond_end_val = try parent_gz.addPlNode(.add, for_full.ast.inputs[i], Zir.Inst.Bin{ + .lhs = allocs[i], + .rhs = lens[i], + }); + } + } - const index_ptr = blk: { - // Future optimization: - // for loops with only ranges don't need a separate index variable. - const index_ptr = try parent_gz.addUnNode(counter_alloc_tag, .usize_type, node); - // initialize to zero - _ = try parent_gz.addBin(.store, index_ptr, .zero_usize); - try counters.append(index_ptr); - break :blk index_ptr; - }; + // We use a dedicated ZIR instruction to assert the lengths to assist with + // nicer error reporting as well as fewer ZIR bytes emitted. + if (end_input_index != null) { + const lens_len = @intCast(u32, lens.len); + try astgen.extra.ensureUnusedCapacity(gpa, @typeInfo(Zir.Inst.MultiOp).Struct.fields.len + lens_len); + _ = try parent_gz.addPlNode(.for_check_lens, node, Zir.Inst.MultiOp{ + .operands_len = lens_len, + }); + appendRefsAssumeCapacity(astgen, lens); + } const loop_tag: Zir.Inst.Tag = if (is_inline) .block_inline else .loop; const loop_block = try parent_gz.makeBlockInst(loop_tag, node); - try parent_gz.instructions.append(astgen.gpa, loop_block); + try parent_gz.instructions.append(gpa, loop_block); var loop_scope = parent_gz.makeSubBlock(scope); loop_scope.is_inline = is_inline; loop_scope.setBreakResultInfo(ri); defer loop_scope.unstack(); - defer loop_scope.labeled_breaks.deinit(astgen.gpa); + defer loop_scope.labeled_breaks.deinit(gpa); var cond_scope = parent_gz.makeSubBlock(&loop_scope.base); defer cond_scope.unstack(); - // check condition i < array_expr.len - const index = try cond_scope.addUnNode(.load, index_ptr, for_full.ast.cond_expr); - const cond = try cond_scope.addPlNode(.cmp_lt, for_full.ast.cond_expr, Zir.Inst.Bin{ - .lhs = index, - .rhs = len, + // Load all the iterables. + const loaded_ptrs = try gpa.alloc(Zir.Inst.Ref, allocs.len); + defer gpa.free(loaded_ptrs); + for (allocs) |alloc, i| { + loaded_ptrs[i] = try cond_scope.addUnNode(.load, alloc, for_full.ast.inputs[i]); + } + + // Check the condition. + const input_index = end_input_index orelse { + return astgen.failNode(node, "TODO: handle infinite for loop", .{}); + }; + assert(cond_end_val != .none); + + const cond = try cond_scope.addPlNode(.cmp_neq, for_full.ast.inputs[input_index], Zir.Inst.Bin{ + .lhs = loaded_ptrs[input_index], + .rhs = cond_end_val, }); const condbr_tag: Zir.Inst.Tag = if (is_inline) .condbr_inline else .condbr; @@ -6400,16 +6441,15 @@ fn forExpr( const cond_block = try loop_scope.makeBlockInst(block_tag, node); try cond_scope.setBlockBody(cond_block); // cond_block unstacked now, can add new instructions to loop_scope - try loop_scope.instructions.append(astgen.gpa, cond_block); + try loop_scope.instructions.append(gpa, cond_block); - // Increment the index variable and ranges. - for (counters) |counter_ptr| { - const counter = try loop_scope.addUnNode(.load, counter_ptr, for_full.ast.cond_expr); - const counter_plus_one = try loop_scope.addPlNode(.add, node, Zir.Inst.Bin{ - .lhs = counter, + // Increment the loop variables. + for (allocs) |alloc, i| { + const incremented = try loop_scope.addPlNode(.add, node, Zir.Inst.Bin{ + .lhs = loaded_ptrs[i], .rhs = .one_usize, }); - _ = try loop_scope.addBin(.store, counter_ptr, counter_plus_one); + _ = try loop_scope.addBin(.store, alloc, incremented); } const repeat_tag: Zir.Inst.Tag = if (is_inline) .repeat_inline else .repeat; _ = try loop_scope.addNode(repeat_tag, node); @@ -8960,6 +9000,25 @@ comptime { } } +fn nodeIsTriviallyZero(tree: *const Ast, node: Ast.Node.Index) bool { + const node_tags = tree.nodes.items(.tag); + const main_tokens = tree.nodes.items(.main_token); + + switch (node_tags[node]) { + .number_literal => { + const ident = main_tokens[node]; + return switch (std.zig.parseNumberLiteral(tree.tokenSlice(ident))) { + .int => |number| switch (number) { + 0 => true, + else => false, + }, + else => false, + }; + }, + else => return false, + } +} + fn nodeMayNeedMemoryLocation(tree: *const Ast, start_node: Ast.Node.Index, have_res_ty: bool) bool { const node_tags = tree.nodes.items(.tag); const node_datas = tree.nodes.items(.data); diff --git a/src/Sema.zig b/src/Sema.zig index cf6350e35f1f4056dcf3c7aece6fa6e73f4d5140..b5afe935112a31c0c38e0e68323dd5ab68bb8b77 100644 --- a/src/Sema.zig +++ b/src/Sema.zig @@ -1386,6 +1386,11 @@ fn analyzeBodyInner( i += 1; continue; }, + .for_check_lens => { + try sema.zirForCheckLens(block, inst); + i += 1; + continue; + }, // Special case instructions to handle comptime control flow. .@"break" => { @@ -17096,6 +17101,16 @@ fn zirRestoreErrRetIndex(sema: *Sema, start_block: *Block, inst: Zir.Inst.Index) return sema.popErrorReturnTrace(start_block, src, operand, saved_index); } +fn zirForCheckLens(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!void { + const inst_data = sema.code.instructions.items(.data)[inst].pl_node; + const extra = sema.code.extraData(Zir.Inst.MultiOp, inst_data.payload_index); + const args = sema.code.refSlice(extra.end, extra.data.operands_len); + const src = inst_data.src(); + + _ = args; + return sema.fail(block, src, "TODO implement zirForCheckLens", .{}); +} + fn addToInferredErrorSet(sema: *Sema, uncasted_operand: Air.Inst.Ref) !void { assert(sema.fn_ret_ty.zigTypeTag() == .ErrorUnion); diff --git a/src/Zir.zig b/src/Zir.zig index 58f9fdff1429c3d194f901d8fcffd3b1e15dd64d..de6c2f02d1bec3d215f7b4a38f9273679db69530 100644 --- a/src/Zir.zig +++ b/src/Zir.zig @@ -497,6 +497,15 @@ pub const Inst = struct { /// Sends comptime control flow back to the beginning of the current block. /// Uses the `node` field. repeat_inline, + /// Asserts that all the lengths provided match. Used to build a for loop. + /// Return value is always void. + /// Uses the `pl_node` field with payload `MultiOp`. + /// There is exactly one item corresponding to each AST node inside the for + /// loop condition. Each item may be `none`, indicating an unbounded range. + /// Illegal behaviors: + /// * If all lengths are unbounded ranges (always a compile error). + /// * If any two lengths do not match each other. + for_check_lens, /// Merge two error sets into one, `E1 || E2`. /// Uses the `pl_node` field with payload `Bin`. merge_error_sets, @@ -1242,6 +1251,7 @@ pub const Inst = struct { .defer_err_code, .save_err_ret_index, .restore_err_ret_index, + .for_check_lens, => false, .@"break", @@ -1309,6 +1319,7 @@ pub const Inst = struct { .memcpy, .memset, .check_comptime_control_flow, + .for_check_lens, .@"defer", .defer_err_code, .restore_err_ret_index, @@ -1588,6 +1599,7 @@ pub const Inst = struct { .@"break" = .@"break", .break_inline = .@"break", .check_comptime_control_flow = .un_node, + .for_check_lens = .pl_node, .call = .pl_node, .cmp_lt = .pl_node, .cmp_lte = .pl_node, diff --git a/src/print_zir.zig b/src/print_zir.zig index 8d97000582a5b5a6913fd6d1910229b4530e4971..f2436f7679ab826cb75ee90f65f975deffd1339d 100644 --- a/src/print_zir.zig +++ b/src/print_zir.zig @@ -355,6 +355,8 @@ const Writer = struct { .array_type, => try self.writePlNodeBin(stream, inst), + .for_check_lens => try self.writePlNodeMultiOp(stream, inst), + .elem_ptr_imm => try self.writeElemPtrImm(stream, inst), .@"export" => try self.writePlNodeExport(stream, inst), @@ -868,6 +870,19 @@ const Writer = struct { try self.writeSrc(stream, inst_data.src()); } + fn writePlNodeMultiOp(self: *Writer, stream: anytype, inst: Zir.Inst.Index) !void { + const inst_data = self.code.instructions.items(.data)[inst].pl_node; + const extra = self.code.extraData(Zir.Inst.MultiOp, inst_data.payload_index); + const args = self.code.refSlice(extra.end, extra.data.operands_len); + try stream.writeAll("{"); + for (args) |arg, i| { + if (i != 0) try stream.writeAll(", "); + try self.writeInstRef(stream, arg); + } + try stream.writeAll("}) "); + try self.writeSrc(stream, inst_data.src()); + } + fn writeElemPtrImm(self: *Writer, stream: anytype, inst: Zir.Inst.Index) !void { const inst_data = self.code.instructions.items(.data)[inst].pl_node; const extra = self.code.extraData(Zir.Inst.ElemPtrImm, inst_data.payload_index).data; -- 2.54.0 From 841add6890d001d315591dc20f7d464c264d88bb Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Fri, 17 Feb 2023 13:44:35 -0700 Subject: [PATCH 09/36] AstGen: finish multi-object for loops This strategy uses pointer arithmetic to iterate through the loop. This has a problem, however, which is tuples. AstGen does not know whether a given indexable is a tuple or can be iterated based on contiguous memory. Tuples unlike other indexables cannot be represented as a many-item pointer that is incremented as the loop counter. So, after this commit, I will modify AstGen back closer to how @vexu had it before, using a counter and array element access. --- src/AstGen.zig | 139 +++++++++++++++++++++++----------------------- src/Sema.zig | 37 +++++++----- src/Zir.zig | 11 +++- src/print_zir.zig | 4 +- 4 files changed, 103 insertions(+), 88 deletions(-) diff --git a/src/AstGen.zig b/src/AstGen.zig index 7d3a165d2f2d540b38483b724cc81cf774e8a95b..523ac235ac57a24bb35f4ca8490e88219488689a 100644 --- a/src/AstGen.zig +++ b/src/AstGen.zig @@ -88,6 +88,7 @@ fn setExtra(astgen: *AstGen, index: usize, extra: anytype) void { Zir.Inst.BuiltinCall.Flags => @bitCast(u32, @field(extra, field.name)), Zir.Inst.SwitchBlock.Bits => @bitCast(u32, @field(extra, field.name)), Zir.Inst.FuncFancy.Bits => @bitCast(u32, @field(extra, field.name)), + Zir.Inst.ElemPtrImm.Bits => @bitCast(u32, @field(extra, field.name)), else => @compileError("bad field type"), }; i += 1; @@ -1565,7 +1566,9 @@ fn arrayInitExprRlPtrInner( for (elements) |elem_init, i| { const elem_ptr = try gz.addPlNode(.elem_ptr_imm, elem_init, Zir.Inst.ElemPtrImm{ .ptr = result_ptr, - .index = @intCast(u32, i), + .bits = .{ + .index = @intCast(u31, i), + }, }); astgen.extra.items[extra_index] = refToIndex(elem_ptr).?; extra_index += 1; @@ -6308,7 +6311,7 @@ fn forExpr( const lens = try gpa.alloc(Zir.Inst.Ref, for_full.ast.inputs.len); defer gpa.free(lens); - const counter_alloc_tag: Zir.Inst.Tag = if (is_inline) .alloc_comptime_mut else .alloc; + const alloc_tag: Zir.Inst.Tag = if (is_inline) .alloc_comptime_mut else .alloc_mut; // Tracks the index of allocs/lens that has a length to be checked and is // used for the end value. @@ -6321,23 +6324,24 @@ fn forExpr( var cond_end_val: Zir.Inst.Ref = .none; { - var payload = for_full.payload_token; + var capture_token = for_full.payload_token; for (for_full.ast.inputs) |input, i_usize| { const i = @intCast(u32, i_usize); - const payload_is_ref = token_tags[payload] == .asterisk; - const ident_tok = payload + @boolToInt(payload_is_ref); + const capture_is_ref = token_tags[capture_token] == .asterisk; + const ident_tok = capture_token + @boolToInt(capture_is_ref); - if (mem.eql(u8, tree.tokenSlice(ident_tok), "_") and payload_is_ref) { - return astgen.failTok(payload, "pointer modifier invalid on discard", .{}); + if (mem.eql(u8, tree.tokenSlice(ident_tok), "_") and capture_is_ref) { + return astgen.failTok(capture_token, "pointer modifier invalid on discard", .{}); } - payload = ident_tok + @as(u32, 2); + // Skip over the comma, and on to the next capture (or the ending pipe character). + capture_token = ident_tok + 2; try emitDbgNode(parent_gz, input); if (node_tags[input] == .for_range) { - if (payload_is_ref) { + if (capture_is_ref) { return astgen.failTok(ident_tok, "cannot capture reference to range", .{}); } - const counter_ptr = try parent_gz.addUnNode(counter_alloc_tag, .usize_type, node); + const counter_ptr = try parent_gz.addUnNode(alloc_tag, .usize_type, node); const start_node = node_data[input].lhs; const start_val = try expr(parent_gz, scope, .{ .rl = .none }, start_node); _ = try parent_gz.addBin(.store, counter_ptr, start_val); @@ -6364,20 +6368,28 @@ fn forExpr( allocs[i] = counter_ptr; lens[i] = range_len; } else { - const cond_ri: ResultInfo = .{ .rl = if (payload_is_ref) .ref else .none }; - const indexable = try expr(parent_gz, scope, cond_ri, input); + const indexable = try expr(parent_gz, scope, .{ .rl = .none }, input); + // This instruction has nice compile errors so we put it before the other ones + // even though it is not needed until later in the block. + const ptr_len = try parent_gz.addUnNode(.indexable_ptr_len, indexable, input); const base_ptr = try parent_gz.addPlNode(.elem_ptr_imm, input, Zir.Inst.ElemPtrImm{ .ptr = indexable, - .index = 0, + .bits = .{ + .index = 0, + .manyptr = true, + }, }); + const alloc_ty_inst = try parent_gz.addUnNode(.typeof, base_ptr, node); + const alloc = try parent_gz.addUnNode(alloc_tag, alloc_ty_inst, node); + _ = try parent_gz.addBin(.store, alloc, base_ptr); if (end_input_index == null) { end_input_index = i; assert(cond_end_val == .none); } - allocs[i] = base_ptr; - lens[i] = try parent_gz.addUnNode(.indexable_ptr_len, indexable, input); + allocs[i] = alloc; + lens[i] = ptr_len; } } } @@ -6467,62 +6479,47 @@ fn forExpr( var then_scope = parent_gz.makeSubBlock(&cond_scope.base); defer then_scope.unstack(); - const then_sub_scope = &then_scope.base; - - // try then_scope.addDbgBlockBegin(); - // var payload_val_scope: Scope.LocalVal = undefined; - // var index_scope: Scope.LocalPtr = undefined; - // const then_sub_scope = blk: { - // const payload_token = for_full.payload_token.?; - // const ident = if (token_tags[payload_token] == .asterisk) - // payload_token + 1 - // else - // payload_token; - // const is_ptr = ident != payload_token; - // const value_name = tree.tokenSlice(ident); - // var payload_sub_scope: *Scope = undefined; - // if (!mem.eql(u8, value_name, "_")) { - // const name_str_index = try astgen.identAsString(ident); - // const tag: Zir.Inst.Tag = if (is_ptr) .elem_ptr else .elem_val; - // const payload_inst = try then_scope.addPlNode(tag, for_full.ast.cond_expr, Zir.Inst.Bin{ - // .lhs = array_ptr, - // .rhs = index, - // }); - // try astgen.detectLocalShadowing(&then_scope.base, name_str_index, ident, value_name, .capture); - // payload_val_scope = .{ - // .parent = &then_scope.base, - // .gen_zir = &then_scope, - // .name = name_str_index, - // .inst = payload_inst, - // .token_src = ident, - // .id_cat = .capture, - // }; - // try then_scope.addDbgVar(.dbg_var_val, name_str_index, payload_inst); - // payload_sub_scope = &payload_val_scope.base; - // } else if (is_ptr) { - // } else { - // payload_sub_scope = &then_scope.base; - // } - - // const index_token = if (token_tags[ident + 1] == .comma) - // ident + 2 - // else - // break :blk payload_sub_scope; - // const token_bytes = tree.tokenSlice(index_token); - // const index_name = try astgen.identAsString(index_token); - // try astgen.detectLocalShadowing(payload_sub_scope, index_name, index_token, token_bytes, .@"loop index capture"); - // index_scope = .{ - // .parent = payload_sub_scope, - // .gen_zir = &then_scope, - // .name = index_name, - // .ptr = index_ptr, - // .token_src = index_token, - // .maybe_comptime = is_inline, - // .id_cat = .@"loop index capture", - // }; - // try then_scope.addDbgVar(.dbg_var_val, index_name, index_ptr); - // break :blk &index_scope.base; - // }; + try then_scope.addDbgBlockBegin(); + + const capture_scopes = try gpa.alloc(Scope.LocalVal, for_full.ast.inputs.len); + defer gpa.free(capture_scopes); + + const then_sub_scope = blk: { + var capture_token = for_full.payload_token; + var capture_sub_scope: *Scope = &then_scope.base; + for (for_full.ast.inputs) |input, i_usize| { + const i = @intCast(u32, i_usize); + const capture_is_ref = token_tags[capture_token] == .asterisk; + const ident_tok = capture_token + @boolToInt(capture_is_ref); + const capture_name = tree.tokenSlice(ident_tok); + // Skip over the comma, and on to the next capture (or the ending pipe character). + capture_token = ident_tok + 2; + + if (mem.eql(u8, capture_name, "_")) continue; + + const name_str_index = try astgen.identAsString(ident_tok); + try astgen.detectLocalShadowing(capture_sub_scope, name_str_index, ident_tok, capture_name, .capture); + + const loaded = if (capture_is_ref) + loaded_ptrs[i] + else + try then_scope.addUnNode(.load, loaded_ptrs[i], input); + + capture_scopes[i] = .{ + .parent = capture_sub_scope, + .gen_zir = &then_scope, + .name = name_str_index, + .inst = loaded, + .token_src = ident_tok, + .id_cat = .capture, + }; + + try then_scope.addDbgVar(.dbg_var_val, name_str_index, loaded); + capture_sub_scope = &capture_scopes[i].base; + } + + break :blk capture_sub_scope; + }; const then_result = try expr(&then_scope, then_sub_scope, .{ .rl = .none }, for_full.ast.then_expr); _ = try addEnsureResult(&then_scope, then_result, for_full.ast.then_expr); diff --git a/src/Sema.zig b/src/Sema.zig index b5afe935112a31c0c38e0e68323dd5ab68bb8b77..c251aa9fbf870290ff7a164c2721d736a759b919 100644 --- a/src/Sema.zig +++ b/src/Sema.zig @@ -9649,7 +9649,7 @@ fn zirElemPtr(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air const extra = sema.code.extraData(Zir.Inst.Bin, inst_data.payload_index).data; const array_ptr = try sema.resolveInst(extra.lhs); const elem_index = try sema.resolveInst(extra.rhs); - return sema.elemPtr(block, src, array_ptr, elem_index, src, false); + return sema.elemPtr(block, src, array_ptr, elem_index, src, false, .One); } fn zirElemPtrNode(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.Inst.Ref { @@ -9662,7 +9662,7 @@ fn zirElemPtrNode(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError const extra = sema.code.extraData(Zir.Inst.Bin, inst_data.payload_index).data; const array_ptr = try sema.resolveInst(extra.lhs); const elem_index = try sema.resolveInst(extra.rhs); - return sema.elemPtr(block, src, array_ptr, elem_index, elem_index_src, false); + return sema.elemPtr(block, src, array_ptr, elem_index, elem_index_src, false, .One); } fn zirElemPtrImm(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.Inst.Ref { @@ -9673,8 +9673,9 @@ fn zirElemPtrImm(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError! const src = inst_data.src(); const extra = sema.code.extraData(Zir.Inst.ElemPtrImm, inst_data.payload_index).data; const array_ptr = try sema.resolveInst(extra.ptr); - const elem_index = try sema.addIntUnsigned(Type.usize, extra.index); - return sema.elemPtr(block, src, array_ptr, elem_index, src, true); + const elem_index = try sema.addIntUnsigned(Type.usize, extra.bits.index); + const size: std.builtin.Type.Pointer.Size = if (extra.bits.manyptr) .Many else .One; + return sema.elemPtr(block, src, array_ptr, elem_index, src, true, size); } fn zirSliceStart(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.Inst.Ref { @@ -22905,7 +22906,7 @@ fn panicSentinelMismatch( const actual_sentinel = if (ptr_ty.isSlice()) try parent_block.addBinOp(.slice_elem_val, ptr, sentinel_index) else blk: { - const elem_ptr_ty = try sema.elemPtrType(ptr_ty, null); + const elem_ptr_ty = try sema.elemPtrType(ptr_ty, null, .One); const sentinel_ptr = try parent_block.addPtrElemPtr(ptr, sentinel_index, elem_ptr_ty); break :blk try parent_block.addTyOp(.load, sentinel_ty, sentinel_ptr); }; @@ -24072,6 +24073,7 @@ fn elemPtr( elem_index: Air.Inst.Ref, elem_index_src: LazySrcLoc, init: bool, + size: std.builtin.Type.Pointer.Size, ) CompileError!Air.Inst.Ref { const indexable_ptr_src = src; // TODO better source location const indexable_ptr_ty = sema.typeOf(indexable_ptr); @@ -24098,13 +24100,12 @@ fn elemPtr( const index_val = maybe_index_val orelse break :rs elem_index_src; const index = @intCast(usize, index_val.toUnsignedInt(target)); const elem_ptr = try ptr_val.elemPtr(indexable_ty, sema.arena, index, sema.mod); - const result_ty = try sema.elemPtrType(indexable_ty, index); - return sema.addConstant(result_ty, elem_ptr); + const elem_ptr_ty = try sema.elemPtrType(indexable_ty, index, size); + return sema.addConstant(elem_ptr_ty, elem_ptr); }; - const result_ty = try sema.elemPtrType(indexable_ty, null); - + const elem_ptr_ty = try sema.elemPtrType(indexable_ty, null, size); try sema.requireRuntimeBlock(block, src, runtime_src); - return block.addPtrElemPtr(indexable, elem_index, result_ty); + return block.addPtrElemPtr(indexable, elem_index, elem_ptr_ty); }, .One => { assert(indexable_ty.childType().zigTypeTag() == .Array); // Guaranteed by isIndexable @@ -24166,7 +24167,7 @@ fn elemVal( }, .One => { assert(indexable_ty.childType().zigTypeTag() == .Array); // Guaranteed by isIndexable - const elem_ptr = try sema.elemPtr(block, indexable_src, indexable, elem_index, elem_index_src, false); + const elem_ptr = try sema.elemPtr(block, indexable_src, indexable, elem_index, elem_index_src, false, .One); return sema.analyzeLoad(block, indexable_src, elem_ptr, elem_index_src); }, }, @@ -24404,7 +24405,7 @@ fn elemPtrArray( break :o index; } else null; - const elem_ptr_ty = try sema.elemPtrType(array_ptr_ty, offset); + const elem_ptr_ty = try sema.elemPtrType(array_ptr_ty, offset, .One); if (maybe_undef_array_ptr_val) |array_ptr_val| { if (array_ptr_val.isUndef()) { @@ -24509,7 +24510,7 @@ fn elemPtrSlice( break :o index; } else null; - const elem_ptr_ty = try sema.elemPtrType(slice_ty, offset); + const elem_ptr_ty = try sema.elemPtrType(slice_ty, offset, .One); if (maybe_undef_slice_val) |slice_val| { if (slice_val.isUndef()) { @@ -26239,7 +26240,7 @@ fn storePtr2( const elem_src = operand_src; // TODO better source location const elem = try sema.tupleField(block, operand_src, uncasted_operand, elem_src, i); const elem_index = try sema.addIntUnsigned(Type.usize, i); - const elem_ptr = try sema.elemPtr(block, ptr_src, ptr, elem_index, elem_src, false); + const elem_ptr = try sema.elemPtr(block, ptr_src, ptr, elem_index, elem_src, false, .One); try sema.storePtr2(block, src, elem_ptr, elem_src, elem, elem_src, .store); } return; @@ -33276,7 +33277,12 @@ fn compareVector( /// For []T, returns *T /// Handles const-ness and address spaces in particular. /// This code is duplicated in `analyzePtrArithmetic`. -fn elemPtrType(sema: *Sema, ptr_ty: Type, offset: ?usize) !Type { +fn elemPtrType( + sema: *Sema, + ptr_ty: Type, + offset: ?usize, + size: std.builtin.Type.Pointer.Size, +) !Type { const ptr_info = ptr_ty.ptrInfo().data; const elem_ty = ptr_ty.elemType2(); const allow_zero = ptr_info.@"allowzero" and (offset orelse 0) == 0; @@ -33321,6 +33327,7 @@ fn elemPtrType(sema: *Sema, ptr_ty: Type, offset: ?usize) !Type { break :a new_align; }; return try Type.ptr(sema.arena, sema.mod, .{ + .size = size, .pointee_type = elem_ty, .mutable = ptr_info.mutable, .@"addrspace" = ptr_info.@"addrspace", diff --git a/src/Zir.zig b/src/Zir.zig index de6c2f02d1bec3d215f7b4a38f9273679db69530..edbd70e1708b91e71a50214f9935c7756bf7697d 100644 --- a/src/Zir.zig +++ b/src/Zir.zig @@ -79,6 +79,7 @@ pub fn extraData(code: Zir, comptime T: type, index: usize) struct { data: T, en Inst.BuiltinCall.Flags => @bitCast(Inst.BuiltinCall.Flags, code.extra[i]), Inst.SwitchBlock.Bits => @bitCast(Inst.SwitchBlock.Bits, code.extra[i]), Inst.FuncFancy.Bits => @bitCast(Inst.FuncFancy.Bits, code.extra[i]), + Inst.ElemPtrImm.Bits => @bitCast(Inst.ElemPtrImm.Bits, code.extra[i]), else => @compileError("bad field type"), }; i += 1; @@ -388,6 +389,8 @@ pub const Inst = struct { /// as a reference to another ZIR instruction. /// Uses the `pl_node` union field. AST node is an element inside array initialization /// syntax. Payload is `ElemPtrImm`. + /// This instruction has a way to set the result type to be a + /// single-pointer or a many-pointer. elem_ptr_imm, /// Given an array, slice, or pointer, returns the element at the provided index. /// Uses the `pl_node` union field. AST node is a[b] syntax. Payload is `Bin`. @@ -2972,7 +2975,13 @@ pub const Inst = struct { pub const ElemPtrImm = struct { ptr: Ref, - index: u32, + bits: Bits, + + pub const Bits = packed struct(u32) { + index: u31, + /// Controls whether the type returned is `*T` or `[*]T`. + manyptr: bool = false, + }; }; /// 0. multi_cases_len: u32 // If has_multi_cases is set. diff --git a/src/print_zir.zig b/src/print_zir.zig index f2436f7679ab826cb75ee90f65f975deffd1339d..0977a88d53bd03a249860d54406a408d8abc97b9 100644 --- a/src/print_zir.zig +++ b/src/print_zir.zig @@ -888,7 +888,9 @@ const Writer = struct { const extra = self.code.extraData(Zir.Inst.ElemPtrImm, inst_data.payload_index).data; try self.writeInstRef(stream, extra.ptr); - try stream.print(", {d}) ", .{extra.index}); + try stream.print(", {d}", .{extra.bits.index}); + try self.writeFlag(stream, ", manyptr", extra.bits.manyptr); + try stream.writeAll(") "); try self.writeSrc(stream, inst_data.src()); } -- 2.54.0 From 293d6bdc73c5fe01b07ebe3d09c9a78613fed093 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Fri, 17 Feb 2023 16:39:45 -0700 Subject: [PATCH 10/36] AstGen: back to index-based for loops --- src/AstGen.zig | 159 +++++++++++++++++++++------------------------- src/Sema.zig | 63 ++++++++---------- src/Zir.zig | 21 ++---- src/print_zir.zig | 6 +- 4 files changed, 106 insertions(+), 143 deletions(-) diff --git a/src/AstGen.zig b/src/AstGen.zig index 523ac235ac57a24bb35f4ca8490e88219488689a..b90201713e20aafc74ca0989fcc9b0c3684a885a 100644 --- a/src/AstGen.zig +++ b/src/AstGen.zig @@ -88,7 +88,6 @@ fn setExtra(astgen: *AstGen, index: usize, extra: anytype) void { Zir.Inst.BuiltinCall.Flags => @bitCast(u32, @field(extra, field.name)), Zir.Inst.SwitchBlock.Bits => @bitCast(u32, @field(extra, field.name)), Zir.Inst.FuncFancy.Bits => @bitCast(u32, @field(extra, field.name)), - Zir.Inst.ElemPtrImm.Bits => @bitCast(u32, @field(extra, field.name)), else => @compileError("bad field type"), }; i += 1; @@ -1566,9 +1565,7 @@ fn arrayInitExprRlPtrInner( for (elements) |elem_init, i| { const elem_ptr = try gz.addPlNode(.elem_ptr_imm, elem_init, Zir.Inst.ElemPtrImm{ .ptr = result_ptr, - .bits = .{ - .index = @intCast(u31, i), - }, + .index = @intCast(u32, i), }); astgen.extra.items[extra_index] = refToIndex(elem_ptr).?; extra_index += 1; @@ -2601,6 +2598,7 @@ fn addEnsureResult(gz: *GenZir, maybe_unused_result: Zir.Inst.Ref, statement: As .field_base_ptr, .ret_ptr, .ret_type, + .for_len, .@"try", .try_ptr, //.try_inline, @@ -2669,7 +2667,6 @@ fn addEnsureResult(gz: *GenZir, maybe_unused_result: Zir.Inst.Ref, statement: As .validate_deref, .save_err_ret_index, .restore_err_ret_index, - .for_check_lens, => break :b true, .@"defer" => unreachable, @@ -6305,23 +6302,26 @@ fn forExpr( const node_data = tree.nodes.items(.data); const gpa = astgen.gpa; - const allocs = try gpa.alloc(Zir.Inst.Ref, for_full.ast.inputs.len); - defer gpa.free(allocs); + // For counters, this is the start value; for indexables, this is the base + // pointer that can be used with elem_ptr and similar instructions. + // Special value `none` means that this is a counter and its start value is + // zero, indicating that the main index counter can be used directly. + const indexables = try gpa.alloc(Zir.Inst.Ref, for_full.ast.inputs.len); + defer gpa.free(indexables); // elements of this array can be `none`, indicating no length check. const lens = try gpa.alloc(Zir.Inst.Ref, for_full.ast.inputs.len); defer gpa.free(lens); - const alloc_tag: Zir.Inst.Tag = if (is_inline) .alloc_comptime_mut else .alloc_mut; + // We will use a single zero-based counter no matter how many indexables there are. + const index_ptr = blk: { + const alloc_tag: Zir.Inst.Tag = if (is_inline) .alloc_comptime_mut else .alloc; + const index_ptr = try parent_gz.addUnNode(alloc_tag, .usize_type, node); + // initialize to zero + _ = try parent_gz.addBin(.store, index_ptr, .zero_usize); + break :blk index_ptr; + }; - // Tracks the index of allocs/lens that has a length to be checked and is - // used for the end value. - // If this is null, there are no len checks. - var end_input_index: ?u32 = null; - // This is a value to use to find out if the for loop has reached the end - // yet. It prefers to use a counter since the end value is provided directly, - // and otherwise falls back to adding ptr+len of a slice to compute end. - // Corresponds to end_input_index and will be .none in case that value is null. - var cond_end_val: Zir.Inst.Ref = .none; + var any_len_checks = false; { var capture_token = for_full.payload_token; @@ -6341,10 +6341,8 @@ fn forExpr( if (capture_is_ref) { return astgen.failTok(ident_tok, "cannot capture reference to range", .{}); } - const counter_ptr = try parent_gz.addUnNode(alloc_tag, .usize_type, node); const start_node = node_data[input].lhs; const start_val = try expr(parent_gz, scope, .{ .rl = .none }, start_node); - _ = try parent_gz.addBin(.store, counter_ptr, start_val); const end_node = node_data[input].rhs; const end_val = if (end_node != 0) @@ -6352,7 +6350,8 @@ fn forExpr( else .none; - const range_len = if (end_val == .none or nodeIsTriviallyZero(tree, start_node)) + const start_is_zero = nodeIsTriviallyZero(tree, start_node); + const range_len = if (end_val == .none or start_is_zero) end_val else try parent_gz.addPlNode(.sub, input, Zir.Inst.Bin{ @@ -6360,61 +6359,33 @@ fn forExpr( .rhs = start_val, }); - if (range_len != .none and cond_end_val == .none) { - end_input_index = i; - cond_end_val = end_val; - } - - allocs[i] = counter_ptr; + any_len_checks = any_len_checks or range_len != .none; + indexables[i] = if (start_is_zero) .none else start_val; lens[i] = range_len; } else { const indexable = try expr(parent_gz, scope, .{ .rl = .none }, input); - // This instruction has nice compile errors so we put it before the other ones - // even though it is not needed until later in the block. - const ptr_len = try parent_gz.addUnNode(.indexable_ptr_len, indexable, input); - const base_ptr = try parent_gz.addPlNode(.elem_ptr_imm, input, Zir.Inst.ElemPtrImm{ - .ptr = indexable, - .bits = .{ - .index = 0, - .manyptr = true, - }, - }); - const alloc_ty_inst = try parent_gz.addUnNode(.typeof, base_ptr, node); - const alloc = try parent_gz.addUnNode(alloc_tag, alloc_ty_inst, node); - _ = try parent_gz.addBin(.store, alloc, base_ptr); + const indexable_len = try parent_gz.addUnNode(.indexable_ptr_len, indexable, input); - if (end_input_index == null) { - end_input_index = i; - assert(cond_end_val == .none); - } - - allocs[i] = alloc; - lens[i] = ptr_len; + any_len_checks = true; + indexables[i] = indexable; + lens[i] = indexable_len; } } } - // In case there are no counters which already have an end computed, we - // compute an end from base pointer plus length. - if (end_input_index) |i| { - if (cond_end_val == .none) { - cond_end_val = try parent_gz.addPlNode(.add, for_full.ast.inputs[i], Zir.Inst.Bin{ - .lhs = allocs[i], - .rhs = lens[i], - }); - } - } - // We use a dedicated ZIR instruction to assert the lengths to assist with // nicer error reporting as well as fewer ZIR bytes emitted. - if (end_input_index != null) { + const len: Zir.Inst.Ref = len: { + if (!any_len_checks) break :len .none; + const lens_len = @intCast(u32, lens.len); try astgen.extra.ensureUnusedCapacity(gpa, @typeInfo(Zir.Inst.MultiOp).Struct.fields.len + lens_len); - _ = try parent_gz.addPlNode(.for_check_lens, node, Zir.Inst.MultiOp{ + const len = try parent_gz.addPlNode(.for_len, node, Zir.Inst.MultiOp{ .operands_len = lens_len, }); appendRefsAssumeCapacity(astgen, lens); - } + break :len len; + }; const loop_tag: Zir.Inst.Tag = if (is_inline) .block_inline else .loop; const loop_block = try parent_gz.makeBlockInst(loop_tag, node); @@ -6429,22 +6400,14 @@ fn forExpr( var cond_scope = parent_gz.makeSubBlock(&loop_scope.base); defer cond_scope.unstack(); - // Load all the iterables. - const loaded_ptrs = try gpa.alloc(Zir.Inst.Ref, allocs.len); - defer gpa.free(loaded_ptrs); - for (allocs) |alloc, i| { - loaded_ptrs[i] = try cond_scope.addUnNode(.load, alloc, for_full.ast.inputs[i]); - } - // Check the condition. - const input_index = end_input_index orelse { + if (!any_len_checks) { return astgen.failNode(node, "TODO: handle infinite for loop", .{}); - }; - assert(cond_end_val != .none); - - const cond = try cond_scope.addPlNode(.cmp_neq, for_full.ast.inputs[input_index], Zir.Inst.Bin{ - .lhs = loaded_ptrs[input_index], - .rhs = cond_end_val, + } + const index = try cond_scope.addUnNode(.load, index_ptr, node); + const cond = try cond_scope.addPlNode(.cmp_lt, node, Zir.Inst.Bin{ + .lhs = index, + .rhs = len, }); const condbr_tag: Zir.Inst.Tag = if (is_inline) .condbr_inline else .condbr; @@ -6455,14 +6418,12 @@ fn forExpr( // cond_block unstacked now, can add new instructions to loop_scope try loop_scope.instructions.append(gpa, cond_block); - // Increment the loop variables. - for (allocs) |alloc, i| { - const incremented = try loop_scope.addPlNode(.add, node, Zir.Inst.Bin{ - .lhs = loaded_ptrs[i], - .rhs = .one_usize, - }); - _ = try loop_scope.addBin(.store, alloc, incremented); - } + // Increment the index variable. + const index_plus_one = try loop_scope.addPlNode(.add, node, Zir.Inst.Bin{ + .lhs = index, + .rhs = .one_usize, + }); + _ = try loop_scope.addBin(.store, index_ptr, index_plus_one); const repeat_tag: Zir.Inst.Tag = if (is_inline) .repeat_inline else .repeat; _ = try loop_scope.addNode(repeat_tag, node); @@ -6500,21 +6461,43 @@ fn forExpr( const name_str_index = try astgen.identAsString(ident_tok); try astgen.detectLocalShadowing(capture_sub_scope, name_str_index, ident_tok, capture_name, .capture); - const loaded = if (capture_is_ref) - loaded_ptrs[i] - else - try then_scope.addUnNode(.load, loaded_ptrs[i], input); + const capture_inst = inst: { + const is_counter = node_tags[input] == .for_range; + + if (indexables[i] == .none) { + // Special case: the main index can be used directly. + assert(is_counter); + assert(!capture_is_ref); + break :inst index; + } + + // For counters, we add the index variable to the start value; for + // indexables, we use it as an element index. This is so similar + // that they can share the same code paths, branching only on the + // ZIR tag. + const switch_cond = (@as(u2, @boolToInt(capture_is_ref)) << 1) | @boolToInt(is_counter); + const tag: Zir.Inst.Tag = switch (switch_cond) { + 0b00 => .elem_val, + 0b01 => .add, + 0b10 => .elem_ptr, + 0b11 => unreachable, // compile error emitted already + }; + break :inst try then_scope.addPlNode(tag, input, Zir.Inst.Bin{ + .lhs = indexables[i], + .rhs = index, + }); + }; capture_scopes[i] = .{ .parent = capture_sub_scope, .gen_zir = &then_scope, .name = name_str_index, - .inst = loaded, + .inst = capture_inst, .token_src = ident_tok, .id_cat = .capture, }; - try then_scope.addDbgVar(.dbg_var_val, name_str_index, loaded); + try then_scope.addDbgVar(.dbg_var_val, name_str_index, capture_inst); capture_sub_scope = &capture_scopes[i].base; } diff --git a/src/Sema.zig b/src/Sema.zig index c251aa9fbf870290ff7a164c2721d736a759b919..cb40a853646c9d54386ae2b1ef1bd4bd44a6b9ca 100644 --- a/src/Sema.zig +++ b/src/Sema.zig @@ -1035,6 +1035,7 @@ fn analyzeBodyInner( .@"await" => try sema.zirAwait(block, inst), .array_base_ptr => try sema.zirArrayBasePtr(block, inst), .field_base_ptr => try sema.zirFieldBasePtr(block, inst), + .for_len => try sema.zirForLen(block, inst), .clz => try sema.zirBitCount(block, inst, .clz, Value.clz), .ctz => try sema.zirBitCount(block, inst, .ctz, Value.ctz), @@ -1386,11 +1387,6 @@ fn analyzeBodyInner( i += 1; continue; }, - .for_check_lens => { - try sema.zirForCheckLens(block, inst); - i += 1; - continue; - }, // Special case instructions to handle comptime control flow. .@"break" => { @@ -3924,6 +3920,16 @@ fn zirFieldBasePtr( return sema.failWithStructInitNotSupported(block, src, sema.typeOf(start_ptr).childType()); } +fn zirForLen(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.Inst.Ref { + const inst_data = sema.code.instructions.items(.data)[inst].pl_node; + const extra = sema.code.extraData(Zir.Inst.MultiOp, inst_data.payload_index); + const args = sema.code.refSlice(extra.end, extra.data.operands_len); + const src = inst_data.src(); + + _ = args; + return sema.fail(block, src, "TODO implement zirForCheckLens", .{}); +} + fn validateArrayInitTy( sema: *Sema, block: *Block, @@ -9649,7 +9655,7 @@ fn zirElemPtr(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air const extra = sema.code.extraData(Zir.Inst.Bin, inst_data.payload_index).data; const array_ptr = try sema.resolveInst(extra.lhs); const elem_index = try sema.resolveInst(extra.rhs); - return sema.elemPtr(block, src, array_ptr, elem_index, src, false, .One); + return sema.elemPtr(block, src, array_ptr, elem_index, src, false); } fn zirElemPtrNode(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.Inst.Ref { @@ -9662,7 +9668,7 @@ fn zirElemPtrNode(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError const extra = sema.code.extraData(Zir.Inst.Bin, inst_data.payload_index).data; const array_ptr = try sema.resolveInst(extra.lhs); const elem_index = try sema.resolveInst(extra.rhs); - return sema.elemPtr(block, src, array_ptr, elem_index, elem_index_src, false, .One); + return sema.elemPtr(block, src, array_ptr, elem_index, elem_index_src, false); } fn zirElemPtrImm(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.Inst.Ref { @@ -9673,9 +9679,8 @@ fn zirElemPtrImm(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError! const src = inst_data.src(); const extra = sema.code.extraData(Zir.Inst.ElemPtrImm, inst_data.payload_index).data; const array_ptr = try sema.resolveInst(extra.ptr); - const elem_index = try sema.addIntUnsigned(Type.usize, extra.bits.index); - const size: std.builtin.Type.Pointer.Size = if (extra.bits.manyptr) .Many else .One; - return sema.elemPtr(block, src, array_ptr, elem_index, src, true, size); + const elem_index = try sema.addIntUnsigned(Type.usize, extra.index); + return sema.elemPtr(block, src, array_ptr, elem_index, src, true); } fn zirSliceStart(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.Inst.Ref { @@ -17102,16 +17107,6 @@ fn zirRestoreErrRetIndex(sema: *Sema, start_block: *Block, inst: Zir.Inst.Index) return sema.popErrorReturnTrace(start_block, src, operand, saved_index); } -fn zirForCheckLens(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!void { - const inst_data = sema.code.instructions.items(.data)[inst].pl_node; - const extra = sema.code.extraData(Zir.Inst.MultiOp, inst_data.payload_index); - const args = sema.code.refSlice(extra.end, extra.data.operands_len); - const src = inst_data.src(); - - _ = args; - return sema.fail(block, src, "TODO implement zirForCheckLens", .{}); -} - fn addToInferredErrorSet(sema: *Sema, uncasted_operand: Air.Inst.Ref) !void { assert(sema.fn_ret_ty.zigTypeTag() == .ErrorUnion); @@ -22906,7 +22901,7 @@ fn panicSentinelMismatch( const actual_sentinel = if (ptr_ty.isSlice()) try parent_block.addBinOp(.slice_elem_val, ptr, sentinel_index) else blk: { - const elem_ptr_ty = try sema.elemPtrType(ptr_ty, null, .One); + const elem_ptr_ty = try sema.elemPtrType(ptr_ty, null); const sentinel_ptr = try parent_block.addPtrElemPtr(ptr, sentinel_index, elem_ptr_ty); break :blk try parent_block.addTyOp(.load, sentinel_ty, sentinel_ptr); }; @@ -24073,7 +24068,6 @@ fn elemPtr( elem_index: Air.Inst.Ref, elem_index_src: LazySrcLoc, init: bool, - size: std.builtin.Type.Pointer.Size, ) CompileError!Air.Inst.Ref { const indexable_ptr_src = src; // TODO better source location const indexable_ptr_ty = sema.typeOf(indexable_ptr); @@ -24100,12 +24094,13 @@ fn elemPtr( const index_val = maybe_index_val orelse break :rs elem_index_src; const index = @intCast(usize, index_val.toUnsignedInt(target)); const elem_ptr = try ptr_val.elemPtr(indexable_ty, sema.arena, index, sema.mod); - const elem_ptr_ty = try sema.elemPtrType(indexable_ty, index, size); - return sema.addConstant(elem_ptr_ty, elem_ptr); + const result_ty = try sema.elemPtrType(indexable_ty, index); + return sema.addConstant(result_ty, elem_ptr); }; - const elem_ptr_ty = try sema.elemPtrType(indexable_ty, null, size); + const result_ty = try sema.elemPtrType(indexable_ty, null); + try sema.requireRuntimeBlock(block, src, runtime_src); - return block.addPtrElemPtr(indexable, elem_index, elem_ptr_ty); + return block.addPtrElemPtr(indexable, elem_index, result_ty); }, .One => { assert(indexable_ty.childType().zigTypeTag() == .Array); // Guaranteed by isIndexable @@ -24167,7 +24162,7 @@ fn elemVal( }, .One => { assert(indexable_ty.childType().zigTypeTag() == .Array); // Guaranteed by isIndexable - const elem_ptr = try sema.elemPtr(block, indexable_src, indexable, elem_index, elem_index_src, false, .One); + const elem_ptr = try sema.elemPtr(block, indexable_src, indexable, elem_index, elem_index_src, false); return sema.analyzeLoad(block, indexable_src, elem_ptr, elem_index_src); }, }, @@ -24405,7 +24400,7 @@ fn elemPtrArray( break :o index; } else null; - const elem_ptr_ty = try sema.elemPtrType(array_ptr_ty, offset, .One); + const elem_ptr_ty = try sema.elemPtrType(array_ptr_ty, offset); if (maybe_undef_array_ptr_val) |array_ptr_val| { if (array_ptr_val.isUndef()) { @@ -24510,7 +24505,7 @@ fn elemPtrSlice( break :o index; } else null; - const elem_ptr_ty = try sema.elemPtrType(slice_ty, offset, .One); + const elem_ptr_ty = try sema.elemPtrType(slice_ty, offset); if (maybe_undef_slice_val) |slice_val| { if (slice_val.isUndef()) { @@ -26240,7 +26235,7 @@ fn storePtr2( const elem_src = operand_src; // TODO better source location const elem = try sema.tupleField(block, operand_src, uncasted_operand, elem_src, i); const elem_index = try sema.addIntUnsigned(Type.usize, i); - const elem_ptr = try sema.elemPtr(block, ptr_src, ptr, elem_index, elem_src, false, .One); + const elem_ptr = try sema.elemPtr(block, ptr_src, ptr, elem_index, elem_src, false); try sema.storePtr2(block, src, elem_ptr, elem_src, elem, elem_src, .store); } return; @@ -33277,12 +33272,7 @@ fn compareVector( /// For []T, returns *T /// Handles const-ness and address spaces in particular. /// This code is duplicated in `analyzePtrArithmetic`. -fn elemPtrType( - sema: *Sema, - ptr_ty: Type, - offset: ?usize, - size: std.builtin.Type.Pointer.Size, -) !Type { +fn elemPtrType(sema: *Sema, ptr_ty: Type, offset: ?usize) !Type { const ptr_info = ptr_ty.ptrInfo().data; const elem_ty = ptr_ty.elemType2(); const allow_zero = ptr_info.@"allowzero" and (offset orelse 0) == 0; @@ -33327,7 +33317,6 @@ fn elemPtrType( break :a new_align; }; return try Type.ptr(sema.arena, sema.mod, .{ - .size = size, .pointee_type = elem_ty, .mutable = ptr_info.mutable, .@"addrspace" = ptr_info.@"addrspace", diff --git a/src/Zir.zig b/src/Zir.zig index edbd70e1708b91e71a50214f9935c7756bf7697d..e215dfac108b0a29266fa2e64fdb9ed205a8b3b6 100644 --- a/src/Zir.zig +++ b/src/Zir.zig @@ -79,7 +79,6 @@ pub fn extraData(code: Zir, comptime T: type, index: usize) struct { data: T, en Inst.BuiltinCall.Flags => @bitCast(Inst.BuiltinCall.Flags, code.extra[i]), Inst.SwitchBlock.Bits => @bitCast(Inst.SwitchBlock.Bits, code.extra[i]), Inst.FuncFancy.Bits => @bitCast(Inst.FuncFancy.Bits, code.extra[i]), - Inst.ElemPtrImm.Bits => @bitCast(Inst.ElemPtrImm.Bits, code.extra[i]), else => @compileError("bad field type"), }; i += 1; @@ -501,14 +500,14 @@ pub const Inst = struct { /// Uses the `node` field. repeat_inline, /// Asserts that all the lengths provided match. Used to build a for loop. - /// Return value is always void. + /// Return value is the length as a usize. /// Uses the `pl_node` field with payload `MultiOp`. /// There is exactly one item corresponding to each AST node inside the for - /// loop condition. Each item may be `none`, indicating an unbounded range. + /// loop condition. Any item may be `none`, indicating an unbounded range. /// Illegal behaviors: /// * If all lengths are unbounded ranges (always a compile error). /// * If any two lengths do not match each other. - for_check_lens, + for_len, /// Merge two error sets into one, `E1 || E2`. /// Uses the `pl_node` field with payload `Bin`. merge_error_sets, @@ -1254,7 +1253,7 @@ pub const Inst = struct { .defer_err_code, .save_err_ret_index, .restore_err_ret_index, - .for_check_lens, + .for_len, => false, .@"break", @@ -1322,7 +1321,6 @@ pub const Inst = struct { .memcpy, .memset, .check_comptime_control_flow, - .for_check_lens, .@"defer", .defer_err_code, .restore_err_ret_index, @@ -1547,6 +1545,7 @@ pub const Inst = struct { .repeat_inline, .panic, .panic_comptime, + .for_len, .@"try", .try_ptr, //.try_inline, @@ -1602,7 +1601,7 @@ pub const Inst = struct { .@"break" = .@"break", .break_inline = .@"break", .check_comptime_control_flow = .un_node, - .for_check_lens = .pl_node, + .for_len = .pl_node, .call = .pl_node, .cmp_lt = .pl_node, .cmp_lte = .pl_node, @@ -2975,13 +2974,7 @@ pub const Inst = struct { pub const ElemPtrImm = struct { ptr: Ref, - bits: Bits, - - pub const Bits = packed struct(u32) { - index: u31, - /// Controls whether the type returned is `*T` or `[*]T`. - manyptr: bool = false, - }; + index: u32, }; /// 0. multi_cases_len: u32 // If has_multi_cases is set. diff --git a/src/print_zir.zig b/src/print_zir.zig index 0977a88d53bd03a249860d54406a408d8abc97b9..e5ce9321f5975b58211b2c7e8956007a6a045550 100644 --- a/src/print_zir.zig +++ b/src/print_zir.zig @@ -355,7 +355,7 @@ const Writer = struct { .array_type, => try self.writePlNodeBin(stream, inst), - .for_check_lens => try self.writePlNodeMultiOp(stream, inst), + .for_len => try self.writePlNodeMultiOp(stream, inst), .elem_ptr_imm => try self.writeElemPtrImm(stream, inst), @@ -888,9 +888,7 @@ const Writer = struct { const extra = self.code.extraData(Zir.Inst.ElemPtrImm, inst_data.payload_index).data; try self.writeInstRef(stream, extra.ptr); - try stream.print(", {d}", .{extra.bits.index}); - try self.writeFlag(stream, ", manyptr", extra.bits.manyptr); - try stream.writeAll(") "); + try stream.print(", {d}) ", .{extra.index}); try self.writeSrc(stream, inst_data.src()); } -- 2.54.0 From 5029e5364caccac07f2296c1f30f2f238f13864d Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Fri, 17 Feb 2023 17:14:28 -0700 Subject: [PATCH 11/36] make zig fmt perform upgrade to new for loop syntax The intent here is to revert this commit after Zig 0.10.0 is released. --- lib/std/zig/Ast.zig | 12 ++++++++++++ lib/std/zig/Parse.zig | 5 ++++- lib/std/zig/render.zig | 11 +++++++++++ src/AstGen.zig | 17 +++++++++++++++++ 4 files changed, 44 insertions(+), 1 deletion(-) diff --git a/lib/std/zig/Ast.zig b/lib/std/zig/Ast.zig index 42eb28096680a09b0d31a77c8e0bb9a6f7ee9d11..3784f06160980de4fb65b05cfa150bd105f12a9a 100644 --- a/lib/std/zig/Ast.zig +++ b/lib/std/zig/Ast.zig @@ -2525,6 +2525,18 @@ pub const full = struct { then_expr: Node.Index, else_expr: Node.Index, }; + + /// TODO: remove this after zig 0.11.0 is tagged. + pub fn isOldSyntax(f: For, token_tags: []const Token.Tag) bool { + if (f.ast.inputs.len != 1) return false; + if (token_tags[f.payload_token + 1] == .comma) return true; + if (token_tags[f.payload_token] == .asterisk and + token_tags[f.payload_token + 2] == .comma) + { + return true; + } + return false; + } }; pub const ContainerField = struct { diff --git a/lib/std/zig/Parse.zig b/lib/std/zig/Parse.zig index 7ef884d22cf8c39f4e2aa7176444f717e2f40bd7..258e3b03684251a7d800db4e9617c74620324cc3 100644 --- a/lib/std/zig/Parse.zig +++ b/lib/std/zig/Parse.zig @@ -2143,7 +2143,10 @@ fn forPrefix(p: *Parse) Error!usize { _ = p.eatToken(.asterisk); const identifier = try p.expectToken(.identifier); captures += 1; - if (captures > inputs and !warned_excess) { + if (!warned_excess and inputs == 1 and captures == 2) { + // TODO remove the above condition after 0.11.0 release. this silences + // the error so that zig fmt can fix it. + } else if (captures > inputs and !warned_excess) { try p.warnMsg(.{ .tag = .extra_for_capture, .token = identifier }); warned_excess = true; } diff --git a/lib/std/zig/render.zig b/lib/std/zig/render.zig index 0e8d3125acb5d5d85eecc1e9aaf5f2f835c49519..ea3748a9bdf1b7c4cace0c2b5c9d7cc395e218bb 100644 --- a/lib/std/zig/render.zig +++ b/lib/std/zig/render.zig @@ -1211,6 +1211,17 @@ fn renderFor(gpa: Allocator, ais: *Ais, tree: Ast, for_node: Ast.full.For, space const lparen = for_node.ast.for_token + 1; try renderParamList(gpa, ais, tree, lparen, for_node.ast.inputs, .space); + // TODO remove this after zig 0.11.0 + if (for_node.isOldSyntax(token_tags)) { + // old: for (a) |b, c| {} + // new: for (a, 0..) |b, c| {} + const array_list = ais.underlying_writer.context; // abstractions? who needs 'em! + if (mem.endsWith(u8, array_list.items, ") ")) { + array_list.items.len -= 2; + try array_list.appendSlice(", 0..) "); + } + } + var cur = for_node.payload_token; const pipe = std.mem.indexOfScalarPos(std.zig.Token.Tag, token_tags, cur, .pipe).?; if (token_tags[pipe - 1] == .comma) { diff --git a/src/AstGen.zig b/src/AstGen.zig index b90201713e20aafc74ca0989fcc9b0c3684a885a..c39dcfc9ef5feaebf98b456d681fffbafee01a81 100644 --- a/src/AstGen.zig +++ b/src/AstGen.zig @@ -6302,6 +6302,23 @@ fn forExpr( const node_data = tree.nodes.items(.data); const gpa = astgen.gpa; + // TODO this can be deleted after zig 0.11.0 is released because it + // will be caught in the parser. + if (for_full.isOldSyntax(token_tags)) { + return astgen.failTokNotes( + for_full.payload_token + 2, + "extra capture in for loop", + .{}, + &[_]u32{ + try astgen.errNoteTok( + for_full.payload_token + 2, + "run 'zig fmt' to upgrade your code automatically", + .{}, + ), + }, + ); + } + // For counters, this is the start value; for indexables, this is the base // pointer that can be used with elem_ptr and similar instructions. // Special value `none` means that this is a counter and its start value is -- 2.54.0 From 321ccbdc525ab0f5862e42378b962c10ec54e4a1 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Fri, 17 Feb 2023 19:54:26 -0700 Subject: [PATCH 12/36] Sema: implement for_len This also makes another breaking change to for loops: in order to capture a pointer of an element, one must take the address of array values. This simplifies a lot of things, and makes more sense than how it was before semantically. It is still legal to use a for loop on an array value if the corresponding element capture is byval instead of byref. --- lib/std/builtin.zig | 1 + src/AstGen.zig | 3 +- src/Sema.zig | 165 +++++++++++++++++++++++++++++++++----------- src/type.zig | 13 ++++ 4 files changed, 140 insertions(+), 42 deletions(-) diff --git a/lib/std/builtin.zig b/lib/std/builtin.zig index 74c61d229b440db30469c1c66f8879b04f35f097..869756fe5c70ad9eb68610c706096c8919a302d4 100644 --- a/lib/std/builtin.zig +++ b/lib/std/builtin.zig @@ -975,6 +975,7 @@ pub const panic_messages = struct { pub const unwrap_error = "attempt to unwrap error"; pub const index_out_of_bounds = "index out of bounds"; pub const start_index_greater_than_end = "start index is larger than end index"; + pub const for_len_mismatch = "for loop over objects with non-equal lengths"; }; pub noinline fn returnError(st: *StackTrace) void { diff --git a/src/AstGen.zig b/src/AstGen.zig index c39dcfc9ef5feaebf98b456d681fffbafee01a81..98883b0f8de088f4e72a45cf8569b6a4c4b57376 100644 --- a/src/AstGen.zig +++ b/src/AstGen.zig @@ -6381,11 +6381,10 @@ fn forExpr( lens[i] = range_len; } else { const indexable = try expr(parent_gz, scope, .{ .rl = .none }, input); - const indexable_len = try parent_gz.addUnNode(.indexable_ptr_len, indexable, input); any_len_checks = true; indexables[i] = indexable; - lens[i] = indexable_len; + lens[i] = indexable; } } } diff --git a/src/Sema.zig b/src/Sema.zig index cb40a853646c9d54386ae2b1ef1bd4bd44a6b9ca..aeb4e25a24d99e1bf18d913742bd8950184a73bc 100644 --- a/src/Sema.zig +++ b/src/Sema.zig @@ -3378,26 +3378,7 @@ fn zirIndexablePtrLen(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileE else object_ty; - if (!array_ty.isIndexable()) { - const msg = msg: { - const msg = try sema.errMsg( - block, - src, - "type '{}' does not support indexing", - .{array_ty.fmt(sema.mod)}, - ); - errdefer msg.destroy(sema.gpa); - try sema.errNote( - block, - src, - msg, - "for loop operand must be an array, slice, tuple, or vector", - .{}, - ); - break :msg msg; - }; - return sema.failWithOwnedErrorMsg(msg); - } + try checkIndexable(sema, block, src, array_ty); return sema.fieldVal(block, src, object, "len", src); } @@ -3921,13 +3902,70 @@ fn zirFieldBasePtr( } fn zirForLen(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.Inst.Ref { + const gpa = sema.gpa; const inst_data = sema.code.instructions.items(.data)[inst].pl_node; const extra = sema.code.extraData(Zir.Inst.MultiOp, inst_data.payload_index); const args = sema.code.refSlice(extra.end, extra.data.operands_len); const src = inst_data.src(); - _ = args; - return sema.fail(block, src, "TODO implement zirForCheckLens", .{}); + var len: Air.Inst.Ref = .none; + var len_val: ?Value = null; + var len_idx: usize = undefined; + var any_runtime = false; + + const runtime_arg_lens = try gpa.alloc(Air.Inst.Ref, args.len); + defer gpa.free(runtime_arg_lens); + + // First pass to look for comptime values. + for (args) |zir_arg, i| { + runtime_arg_lens[i] = .none; + if (zir_arg == .none) continue; + const object = try sema.resolveInst(zir_arg); + const object_ty = sema.typeOf(object); + // Each arg could be an indexable, or a range, in which case the length + // is passed directly as an integer. + const arg_len = if (object_ty.zigTypeTag() == .Int) object else l: { + try checkIndexable(sema, block, src, object_ty); + if (!object_ty.indexableHasLen()) continue; + + break :l try sema.fieldVal(block, src, object, "len", src); + }; + if (len == .none) { + len = arg_len; + len_idx = i; + } + if (try sema.resolveDefinedValue(block, src, arg_len)) |arg_val| { + if (len_val) |v| { + if (!(try sema.valuesEqual(arg_val, v, Type.usize))) { + // TODO error notes for each arg stating the differing values + return sema.fail(block, src, "non-matching for loop lengths", .{}); + } + } else { + len = arg_len; + len_val = arg_val; + len_idx = i; + } + continue; + } + runtime_arg_lens[i] = arg_len; + any_runtime = true; + } + + if (len == .none) { + return sema.fail(block, src, "non-obvious infinite loop", .{}); + } + + // Now for the runtime checks. + if (any_runtime and block.wantSafety()) { + for (runtime_arg_lens) |arg_len, i| { + if (arg_len == .none) continue; + if (i == len_idx) continue; + const ok = try block.addBinOp(.cmp_eq, len, arg_len); + try sema.addSafetyCheck(block, ok, .for_len_mismatch); + } + } + + return len; } fn validateArrayInitTy( @@ -9655,7 +9693,7 @@ fn zirElemPtr(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air const extra = sema.code.extraData(Zir.Inst.Bin, inst_data.payload_index).data; const array_ptr = try sema.resolveInst(extra.lhs); const elem_index = try sema.resolveInst(extra.rhs); - return sema.elemPtr(block, src, array_ptr, elem_index, src, false); + return sema.elemPtrOneLayerOnly(block, src, array_ptr, elem_index, src, false); } fn zirElemPtrNode(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.Inst.Ref { @@ -22687,6 +22725,7 @@ pub const PanicId = enum { unwrap_error, index_out_of_bounds, start_index_greater_than_end, + for_len_mismatch, }; fn addSafetyCheck( @@ -24076,21 +24115,46 @@ fn elemPtr( .Pointer => indexable_ptr_ty.elemType(), else => return sema.fail(block, indexable_ptr_src, "expected pointer, found '{}'", .{indexable_ptr_ty.fmt(sema.mod)}), }; - if (!indexable_ty.isIndexable()) { - return sema.fail(block, src, "element access of non-indexable type '{}'", .{indexable_ty.fmt(sema.mod)}); - } - switch (indexable_ty.zigTypeTag()) { - .Pointer => { - // In all below cases, we have to deref the ptr operand to get the actual indexable pointer. + .Array, .Vector => return sema.elemPtrArray(block, src, indexable_ptr_src, indexable_ptr, elem_index_src, elem_index, init), + .Struct => { + // Tuple field access. + const index_val = try sema.resolveConstValue(block, elem_index_src, elem_index, "tuple field access index must be comptime-known"); + const index = @intCast(u32, index_val.toUnsignedInt(target)); + return sema.tupleFieldPtr(block, src, indexable_ptr, elem_index_src, index, init); + }, + else => { const indexable = try sema.analyzeLoad(block, indexable_ptr_src, indexable_ptr, indexable_ptr_src); + return elemPtrOneLayerOnly(sema, block, src, indexable, elem_index, elem_index_src, init); + }, + } +} + +fn elemPtrOneLayerOnly( + sema: *Sema, + block: *Block, + src: LazySrcLoc, + indexable: Air.Inst.Ref, + elem_index: Air.Inst.Ref, + elem_index_src: LazySrcLoc, + init: bool, +) CompileError!Air.Inst.Ref { + const indexable_src = src; // TODO better source location + const indexable_ty = sema.typeOf(indexable); + if (!indexable_ty.isIndexable()) { + return sema.fail(block, src, "element access of non-indexable type '{}'", .{indexable_ty.fmt(sema.mod)}); + } + const target = sema.mod.getTarget(); + + switch (indexable_ty.zigTypeTag()) { + .Pointer => { switch (indexable_ty.ptrSize()) { - .Slice => return sema.elemPtrSlice(block, src, indexable_ptr_src, indexable, elem_index_src, elem_index), + .Slice => return sema.elemPtrSlice(block, src, indexable_src, indexable, elem_index_src, elem_index), .Many, .C => { - const maybe_ptr_val = try sema.resolveDefinedValue(block, indexable_ptr_src, indexable); + const maybe_ptr_val = try sema.resolveDefinedValue(block, indexable_src, indexable); const maybe_index_val = try sema.resolveDefinedValue(block, elem_index_src, elem_index); const runtime_src = rs: { - const ptr_val = maybe_ptr_val orelse break :rs indexable_ptr_src; + const ptr_val = maybe_ptr_val orelse break :rs indexable_src; const index_val = maybe_index_val orelse break :rs elem_index_src; const index = @intCast(usize, index_val.toUnsignedInt(target)); const elem_ptr = try ptr_val.elemPtr(indexable_ty, sema.arena, index, sema.mod); @@ -24104,18 +24168,16 @@ fn elemPtr( }, .One => { assert(indexable_ty.childType().zigTypeTag() == .Array); // Guaranteed by isIndexable - return sema.elemPtrArray(block, src, indexable_ptr_src, indexable, elem_index_src, elem_index, init); + return sema.elemPtrArray(block, src, indexable_src, indexable, elem_index_src, elem_index, init); }, } }, - .Array, .Vector => return sema.elemPtrArray(block, src, indexable_ptr_src, indexable_ptr, elem_index_src, elem_index, init), - .Struct => { - // Tuple field access. - const index_val = try sema.resolveConstValue(block, elem_index_src, elem_index, "tuple field access index must be comptime-known"); - const index = @intCast(u32, index_val.toUnsignedInt(target)); - return sema.tupleFieldPtr(block, src, indexable_ptr, elem_index_src, index, init); + else => { + // TODO add note pointing at corresponding for loop input and suggest using '&' + return sema.fail(block, indexable_src, "pointer capture of non pointer type '{}'", .{ + indexable_ty.fmt(sema.mod), + }); }, - else => unreachable, } } @@ -30202,6 +30264,29 @@ fn checkBackingIntType(sema: *Sema, block: *Block, src: LazySrcLoc, backing_int_ } } +fn checkIndexable(sema: *Sema, block: *Block, src: LazySrcLoc, array_ty: Type) !void { + if (!array_ty.isIndexable()) { + const msg = msg: { + const msg = try sema.errMsg( + block, + src, + "type '{}' does not support indexing", + .{array_ty.fmt(sema.mod)}, + ); + errdefer msg.destroy(sema.gpa); + try sema.errNote( + block, + src, + msg, + "for loop operand must be an array, slice, tuple, or vector", + .{}, + ); + break :msg msg; + }; + return sema.failWithOwnedErrorMsg(msg); + } +} + fn resolveUnionLayout(sema: *Sema, ty: Type) CompileError!void { const resolved_ty = try sema.resolveTypeFields(ty); const union_obj = resolved_ty.cast(Type.Payload.Union).?.data; diff --git a/src/type.zig b/src/type.zig index a13e30cb4c2994d9bdd4e1a5b489173277a979ec..6226a7f2f727401351a4616fa1a8b75d3199f616 100644 --- a/src/type.zig +++ b/src/type.zig @@ -5326,6 +5326,19 @@ pub const Type = extern union { }; } + pub fn indexableHasLen(ty: Type) bool { + return switch (ty.zigTypeTag()) { + .Array, .Vector => true, + .Pointer => switch (ty.ptrSize()) { + .Many, .C => false, + .Slice => true, + .One => ty.elemType().zigTypeTag() == .Array, + }, + .Struct => ty.isTuple(), + else => false, + }; + } + /// Returns null if the type has no namespace. pub fn getNamespace(self: Type) ?*Module.Namespace { return switch (self.tag()) { -- 2.54.0 From f0530385b57218ef323747bdb7438330a07d25cc Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Fri, 17 Feb 2023 20:23:33 -0700 Subject: [PATCH 13/36] update existing behavior tests and std lib to new for loop semantics --- lib/std/crypto/blake3.zig | 2 +- test/behavior/array.zig | 2 +- test/behavior/bit_shifting.zig | 4 ++-- test/behavior/bugs/1607.zig | 2 +- test/behavior/bugs/920.zig | 6 +++--- test/behavior/call.zig | 2 +- test/behavior/const_slice_child.zig | 4 ++-- test/behavior/eval.zig | 6 +++--- test/behavior/fn.zig | 2 +- test/behavior/for.zig | 20 ++++++++++---------- test/behavior/generics.zig | 2 +- test/behavior/lower_strlit_to_vector.zig | 2 +- test/behavior/math.zig | 2 +- test/behavior/slice.zig | 4 ++-- test/behavior/tuple.zig | 2 +- test/behavior/vector.zig | 22 +++++++++++----------- test/behavior/void.zig | 2 +- test/standalone/brace_expansion/main.zig | 4 ++-- test/tests.zig | 2 +- 19 files changed, 46 insertions(+), 46 deletions(-) diff --git a/lib/std/crypto/blake3.zig b/lib/std/crypto/blake3.zig index 4f8d0235326e0a21f88d51875216162658225ade..0334abfdb07fd75f27641c8dfe988b905deaecea 100644 --- a/lib/std/crypto/blake3.zig +++ b/lib/std/crypto/blake3.zig @@ -211,7 +211,7 @@ fn first8Words(words: [16]u32) [8]u32 { fn wordsFromLittleEndianBytes(comptime count: usize, bytes: [count * 4]u8) [count]u32 { var words: [count]u32 = undefined; - for (words) |*word, i| { + for (&words) |*word, i| { word.* = mem.readIntSliceLittle(u32, bytes[4 * i ..]); } return words; diff --git a/test/behavior/array.zig b/test/behavior/array.zig index 012e0785319bcec0bbf6c73c0014a00ddfab3a4f..a5ecd6f115630fbc937fa98dd258c21b889ed133 100644 --- a/test/behavior/array.zig +++ b/test/behavior/array.zig @@ -185,7 +185,7 @@ test "nested arrays of strings" { if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO const array_of_strings = [_][]const u8{ "hello", "this", "is", "my", "thing" }; - for (array_of_strings) |s, i| { + for (array_of_strings, 0..) |s, i| { if (i == 0) try expect(mem.eql(u8, s, "hello")); if (i == 1) try expect(mem.eql(u8, s, "this")); if (i == 2) try expect(mem.eql(u8, s, "is")); diff --git a/test/behavior/bit_shifting.zig b/test/behavior/bit_shifting.zig index 9289badb1f3273af86dcaa6b8c9dd3a6d0157312..97186eb54a19d360afe7df30c5282765b16e1928 100644 --- a/test/behavior/bit_shifting.zig +++ b/test/behavior/bit_shifting.zig @@ -84,14 +84,14 @@ fn testShardedTable(comptime Key: type, comptime mask_bit_count: comptime_int, c var table = Table.create(); var node_buffer: [node_count]Table.Node = undefined; - for (node_buffer) |*node, i| { + for (&node_buffer, 0..) |*node, i| { const key = @intCast(Key, i); try expect(table.get(key) == null); node.init(key, {}); table.put(node); } - for (node_buffer) |*node, i| { + for (&node_buffer, 0..) |*node, i| { try expect(table.get(@intCast(Key, i)) == node); } } diff --git a/test/behavior/bugs/1607.zig b/test/behavior/bugs/1607.zig index f857e19c042d093ea3c6889f8e7847a33e219d9e..d9e97e37b7616be8df9a212fbb620e66ebffcc08 100644 --- a/test/behavior/bugs/1607.zig +++ b/test/behavior/bugs/1607.zig @@ -5,7 +5,7 @@ const builtin = @import("builtin"); const a = [_]u8{ 1, 2, 3 }; fn checkAddress(s: []const u8) !void { - for (s) |*i, j| { + for (s, 0..) |*i, j| { try testing.expect(i == &a[j]); } } diff --git a/test/behavior/bugs/920.zig b/test/behavior/bugs/920.zig index cda02c467005692591a65e2ad20b94afa859c581..b1c9bc07a30b3dcdc3aebea3962e7091550e9b8e 100644 --- a/test/behavior/bugs/920.zig +++ b/test/behavior/bugs/920.zig @@ -23,13 +23,13 @@ fn ZigTableGen(comptime is_symmetric: bool, comptime r: f64, comptime v: f64, co tables.x[0] = v / f(r); tables.x[1] = r; - for (tables.x[2..256]) |*entry, i| { + for (tables.x[2..256], 0..) |*entry, i| { const last = tables.x[2 + i - 1]; entry.* = f_inv(v / last + f(last)); } tables.x[256] = 0; - for (tables.f[0..]) |*entry, i| { + for (tables.f[0..], 0..) |*entry, i| { entry.* = f(tables.x[i]); } @@ -67,7 +67,7 @@ test "bug 920 fixed" { break :blk ZigTableGen(true, norm_r, norm_v, norm_f, norm_f_inv, norm_zero_case); }; - for (NormalDist1.f) |_, i| { + for (NormalDist1.f, 0..) |_, i| { // Here we use `expectApproxEqAbs` instead of `expectEqual` to account for the small // differences in math functions of different libcs. For example, if the compiler // links against glibc, but the target is musl libc, then these values might be diff --git a/test/behavior/call.zig b/test/behavior/call.zig index 4cdd54584f1837dccd7129387fcb0b8cce2fc3a9..9622aa31447b82e0dc8e652985388d3291e3aa94 100644 --- a/test/behavior/call.zig +++ b/test/behavior/call.zig @@ -364,7 +364,7 @@ test "Enum constructed by @Type passed as generic argument" { try expect(@enumToInt(a) == b); } }; - inline for (@typeInfo(S.E).Enum.fields) |_, i| { + inline for (@typeInfo(S.E).Enum.fields, 0..) |_, i| { try S.foo(@intToEnum(S.E, i), i); } } diff --git a/test/behavior/const_slice_child.zig b/test/behavior/const_slice_child.zig index c8711777b3df8d754e034cb4ce57163e7c1f7ce0..09c6a7233d813851a7b1f8e6e92509ae827cf9be 100644 --- a/test/behavior/const_slice_child.zig +++ b/test/behavior/const_slice_child.zig @@ -26,7 +26,7 @@ fn foo(args: [][]const u8) !void { fn bar(argc: usize) !void { var args_buffer: [10][]const u8 = undefined; const args = args_buffer[0..argc]; - for (args) |_, i| { + for (args, 0..) |_, i| { const ptr = argv[i]; args[i] = ptr[0..strlen(ptr)]; } @@ -41,7 +41,7 @@ fn strlen(ptr: [*]const u8) usize { fn streql(a: []const u8, b: []const u8) bool { if (a.len != b.len) return false; - for (a) |item, index| { + for (a, 0..) |item, index| { if (b[index] != item) return false; } return true; diff --git a/test/behavior/eval.zig b/test/behavior/eval.zig index 2a1f2b7155113dbd247bac8990cc94026bf2ffed..680b0576d510f023027132885b922e9bdfeac420 100644 --- a/test/behavior/eval.zig +++ b/test/behavior/eval.zig @@ -317,7 +317,7 @@ test "create global array with for loop" { const global_array = x: { var result: [10]usize = undefined; - for (result) |*item, index| { + for (&result, 0..) |*item, index| { item.* = index * index; } break :x result; @@ -447,7 +447,7 @@ test "binary math operator in partially inlined function" { var s: [4]u32 = undefined; var b: [16]u8 = undefined; - for (b) |*r, i| + for (&b, 0..) |*r, i| r.* = @intCast(u8, i + 1); copyWithPartialInline(s[0..], b[0..]); @@ -915,7 +915,7 @@ test "comptime pointer load through elem_ptr" { comptime { var array: [10]S = undefined; - for (array) |*elem, i| { + for (&array, 0..) |*elem, i| { elem.* = .{ .x = i, }; diff --git a/test/behavior/fn.zig b/test/behavior/fn.zig index d5f959e507a3e8888a9afadd7dba41d02c93ea84..9c37b9a8d90abb63183055b7b28f49593a93f0be 100644 --- a/test/behavior/fn.zig +++ b/test/behavior/fn.zig @@ -311,7 +311,7 @@ test "function pointers" { &fn3, &fn4, }; - for (fns) |f, i| { + for (fns, 0..) |f, i| { try expect(f() == @intCast(u32, i) + 5); } } diff --git a/test/behavior/for.zig b/test/behavior/for.zig index f48000a8716e381c46278bdcad229be7b3644ab9..c9ae2f4461bc7819046cecb6ba9f74d07ad05f65 100644 --- a/test/behavior/for.zig +++ b/test/behavior/for.zig @@ -55,9 +55,9 @@ fn testContinueOuter() !void { } test "ignore lval with underscore (for loop)" { - for ([_]void{}) |_, i| { + for ([_]void{}, 0..) |_, i| { _ = i; - for ([_]void{}) |_, j| { + for ([_]void{}, 0..) |_, j| { _ = j; break; } @@ -81,7 +81,7 @@ test "basic for loop" { buffer[buf_index] = item; buf_index += 1; } - for (array) |item, index| { + for (array, 0..) |item, index| { _ = item; buffer[buf_index] = @intCast(u8, index); buf_index += 1; @@ -91,7 +91,7 @@ test "basic for loop" { buffer[buf_index] = item; buf_index += 1; } - for (array_ptr) |item, index| { + for (array_ptr, 0..) |item, index| { _ = item; buffer[buf_index] = @intCast(u8, index); buf_index += 1; @@ -101,7 +101,7 @@ test "basic for loop" { buffer[buf_index] = item; buf_index += 1; } - for (unknown_size) |_, index| { + for (unknown_size, 0..) |_, index| { buffer[buf_index] = @intCast(u8, index); buf_index += 1; } @@ -163,11 +163,11 @@ test "for loop with pointer elem var" { mangleString(target[0..]); try expect(mem.eql(u8, &target, "bcdefgh")); - for (source) |*c, i| { + for (source, 0..) |*c, i| { _ = i; try expect(@TypeOf(c) == *const u8); } - for (target) |*c, i| { + for (&target, 0..) |*c, i| { _ = i; try expect(@TypeOf(c) == *u8); } @@ -186,7 +186,7 @@ test "for copies its payload" { const S = struct { fn doTheTest() !void { var x = [_]usize{ 1, 2, 3 }; - for (x) |value, i| { + for (x, 0..) |value, i| { // Modify the original array x[i] += 99; try expect(value == i + 1); @@ -206,8 +206,8 @@ test "for on slice with allowzero ptr" { const S = struct { fn doTheTest(slice: []const u8) !void { var ptr = @ptrCast([*]allowzero const u8, slice.ptr)[0..slice.len]; - for (ptr) |x, i| try expect(x == i + 1); - for (ptr) |*x, i| try expect(x.* == i + 1); + for (ptr, 0..) |x, i| try expect(x == i + 1); + for (ptr, 0..) |*x, i| try expect(x.* == i + 1); } }; try S.doTheTest(&[_]u8{ 1, 2, 3, 4 }); diff --git a/test/behavior/generics.zig b/test/behavior/generics.zig index 17194fc445d8a6e6434bf082942a3449de8e58e5..205823430c6268b75adf4b035c17e3945beea668 100644 --- a/test/behavior/generics.zig +++ b/test/behavior/generics.zig @@ -325,7 +325,7 @@ test "generic function instantiation non-duplicates" { const S = struct { fn copy(comptime T: type, dest: []T, source: []const T) void { @export(foo, .{ .name = "test_generic_instantiation_non_dupe" }); - for (source) |s, i| dest[i] = s; + for (source, 0..) |s, i| dest[i] = s; } fn foo() callconv(.C) void {} diff --git a/test/behavior/lower_strlit_to_vector.zig b/test/behavior/lower_strlit_to_vector.zig index 4ca4cf716e136a2206c5a9f7319cf3458e7a144b..adbca8f0dfede3f837b8fc76a5903ffb3a2c9d56 100644 --- a/test/behavior/lower_strlit_to_vector.zig +++ b/test/behavior/lower_strlit_to_vector.zig @@ -12,7 +12,7 @@ test "strlit to vector" { const strlit = "0123456789abcdef0123456789ABCDEF"; const vec_from_strlit: @Vector(32, u8) = strlit.*; const arr_from_vec = @as([32]u8, vec_from_strlit); - for (strlit) |c, i| + for (strlit, 0..) |c, i| try std.testing.expect(c == arr_from_vec[i]); try std.testing.expectEqualSlices(u8, strlit, &arr_from_vec); } diff --git a/test/behavior/math.zig b/test/behavior/math.zig index c5e36da383ce63a932978577cb6cdebc16d02304..8ab861460550cd50f7b90d99258b1bcd54ef95a7 100644 --- a/test/behavior/math.zig +++ b/test/behavior/math.zig @@ -1221,7 +1221,7 @@ test "quad hex float literal parsing accurate" { 0xb6a0000000000000, }; - for (exp2ft) |x, i| { + for (exp2ft, 0..) |x, i| { try expect(@bitCast(u64, x) == answers[i]); } } diff --git a/test/behavior/slice.zig b/test/behavior/slice.zig index 76cadc8d843ca0f57b4f3ce310eb36c531b04333..435e1887bbe0a2286fa9d3fa396b2ffd1a88e13d 100644 --- a/test/behavior/slice.zig +++ b/test/behavior/slice.zig @@ -99,7 +99,7 @@ test "comptime slice of slice preserves comptime var" { test "slice of type" { comptime { var types_array = [_]type{ i32, f64, type }; - for (types_array) |T, i| { + for (types_array, 0..) |T, i| { switch (i) { 0 => try expect(T == i32), 1 => try expect(T == f64), @@ -107,7 +107,7 @@ test "slice of type" { else => unreachable, } } - for (types_array[0..]) |T, i| { + for (types_array[0..], 0..) |T, i| { switch (i) { 0 => try expect(T == i32), 1 => try expect(T == f64), diff --git a/test/behavior/tuple.zig b/test/behavior/tuple.zig index f1c15fb3e3d680e84221144521cc055176f29655..13b02b40e8a167a569e5d1e168f29af4690028ff 100644 --- a/test/behavior/tuple.zig +++ b/test/behavior/tuple.zig @@ -40,7 +40,7 @@ test "tuple multiplication" { { const t = .{ 1, 2, 3 } ** 4; try expect(@typeInfo(@TypeOf(t)).Struct.fields.len == 12); - inline for (t) |x, i| try expect(x == 1 + i % 3); + inline for (t, 0..) |x, i| try expect(x == 1 + i % 3); } } }; diff --git a/test/behavior/vector.zig b/test/behavior/vector.zig index 8bcae5fefc37290fda7fb6e223b1a78bf527da7f..e983e0cfb03d087bdbeb592d98af715be571bc33 100644 --- a/test/behavior/vector.zig +++ b/test/behavior/vector.zig @@ -456,20 +456,20 @@ test "vector division operators" { fn doTheTestDiv(comptime T: type, x: @Vector(4, T), y: @Vector(4, T)) !void { if (!comptime std.meta.trait.isSignedInt(T)) { const d0 = x / y; - for (@as([4]T, d0)) |v, i| { + for (@as([4]T, d0), 0..) |v, i| { try expect(x[i] / y[i] == v); } } const d1 = @divExact(x, y); - for (@as([4]T, d1)) |v, i| { + for (@as([4]T, d1), 0..) |v, i| { try expect(@divExact(x[i], y[i]) == v); } const d2 = @divFloor(x, y); - for (@as([4]T, d2)) |v, i| { + for (@as([4]T, d2), 0..) |v, i| { try expect(@divFloor(x[i], y[i]) == v); } const d3 = @divTrunc(x, y); - for (@as([4]T, d3)) |v, i| { + for (@as([4]T, d3), 0..) |v, i| { try expect(@divTrunc(x[i], y[i]) == v); } } @@ -477,16 +477,16 @@ test "vector division operators" { fn doTheTestMod(comptime T: type, x: @Vector(4, T), y: @Vector(4, T)) !void { if ((!comptime std.meta.trait.isSignedInt(T)) and @typeInfo(T) != .Float) { const r0 = x % y; - for (@as([4]T, r0)) |v, i| { + for (@as([4]T, r0), 0..) |v, i| { try expect(x[i] % y[i] == v); } } const r1 = @mod(x, y); - for (@as([4]T, r1)) |v, i| { + for (@as([4]T, r1), 0..) |v, i| { try expect(@mod(x[i], y[i]) == v); } const r2 = @rem(x, y); - for (@as([4]T, r2)) |v, i| { + for (@as([4]T, r2), 0..) |v, i| { try expect(@rem(x[i], y[i]) == v); } } @@ -538,7 +538,7 @@ test "vector bitwise not operator" { const S = struct { fn doTheTestNot(comptime T: type, x: @Vector(4, T)) !void { var y = ~x; - for (@as([4]T, y)) |v, i| { + for (@as([4]T, y), 0..) |v, i| { try expect(~x[i] == v); } } @@ -577,11 +577,11 @@ test "vector shift operators" { var yv = @as(@Vector(N, TY), y); var z0 = xv >> yv; - for (@as([N]TX, z0)) |v, i| { + for (@as([N]TX, z0), 0..) |v, i| { try expect(x[i] >> y[i] == v); } var z1 = xv << yv; - for (@as([N]TX, z1)) |v, i| { + for (@as([N]TX, z1), 0..) |v, i| { try expect(x[i] << y[i] == v); } } @@ -594,7 +594,7 @@ test "vector shift operators" { var yv = @as(@Vector(N, TY), y); var z = if (dir == .Left) @shlExact(xv, yv) else @shrExact(xv, yv); - for (@as([N]TX, z)) |v, i| { + for (@as([N]TX, z), 0..) |v, i| { const check = if (dir == .Left) x[i] << y[i] else x[i] >> y[i]; try expect(check == v); } diff --git a/test/behavior/void.zig b/test/behavior/void.zig index 85a9178145db6b78326c3f1820dc583bf1d3f33f..9b6c05d07d264f8d1e42866878b601d83ac7a888 100644 --- a/test/behavior/void.zig +++ b/test/behavior/void.zig @@ -22,7 +22,7 @@ test "iterate over a void slice" { if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO var j: usize = 0; - for (times(10)) |_, i| { + for (times(10), 0..) |_, i| { try expect(i == j); j += 1; } diff --git a/test/standalone/brace_expansion/main.zig b/test/standalone/brace_expansion/main.zig index 54590c65b22ea7aa7c160a0858263e453651cffb..dcdcad3865d25c31804e6ae67103cfc2c299f61d 100644 --- a/test/standalone/brace_expansion/main.zig +++ b/test/standalone/brace_expansion/main.zig @@ -29,7 +29,7 @@ fn tokenize(input: []const u8) !ArrayList(Token) { var tok_begin: usize = undefined; var state = State.Start; - for (input) |b, i| { + for (input, 0..) |b, i| { switch (state) { .Start => switch (b) { 'a'...'z', 'A'...'Z' => { @@ -159,7 +159,7 @@ fn expandString(input: []const u8, output: *ArrayList(u8)) !void { try expandNode(root, &result_list); try output.resize(0); - for (result_list.items) |buf, i| { + for (result_list.items, 0..) |buf, i| { if (i != 0) { try output.append(' '); } diff --git a/test/tests.zig b/test/tests.zig index d3ebe5a0469523265e60c7a3e41e8abacd3a1b6d..035311372f6189d251b6a71f0bc2ad6462c74cae 100644 --- a/test/tests.zig +++ b/test/tests.zig @@ -958,7 +958,7 @@ pub const StackTracesContext = struct { // locate delims/anchor const delims = [_][]const u8{ ":", ":", ":", " in ", "(", ")" }; var marks = [_]usize{0} ** delims.len; - for (delims) |delim, i| { + for (delims, 0..) |delim, i| { marks[i] = mem.indexOfPos(u8, line, pos, delim) orelse { // unexpected pattern: emit raw line and cont try buf.appendSlice(line); -- 2.54.0 From aeaef8c0ffadab4145fd002f2edd87a6db66ebd1 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sat, 18 Feb 2023 09:02:57 -0700 Subject: [PATCH 14/36] update std lib and compiler sources to new for loop syntax --- lib/compiler_rt/atomics.zig | 2 +- lib/compiler_rt/comparedf2_test.zig | 4 +- lib/compiler_rt/comparesf2_test.zig | 4 +- lib/std/Build.zig | 8 +- lib/std/Build/CompileStep.zig | 8 +- lib/std/Build/ConfigHeaderStep.zig | 4 +- lib/std/Build/FmtStep.zig | 2 +- lib/std/Thread/Condition.zig | 12 +- lib/std/Thread/Futex.zig | 6 +- lib/std/Thread/Mutex.zig | 6 +- lib/std/Thread/ResetEvent.zig | 2 +- lib/std/Thread/RwLock.zig | 2 +- lib/std/Thread/Semaphore.zig | 2 +- lib/std/array_hash_map.zig | 20 +- lib/std/array_list.zig | 10 +- lib/std/ascii.zig | 6 +- lib/std/atomic/Atomic.zig | 12 +- lib/std/atomic/queue.zig | 4 +- lib/std/atomic/stack.zig | 4 +- lib/std/base64.zig | 6 +- lib/std/bit_set.zig | 16 +- lib/std/bounded_array.zig | 4 +- lib/std/child_process.zig | 6 +- lib/std/coff.zig | 2 +- lib/std/compress/deflate/compressor.zig | 10 +- lib/std/compress/deflate/compressor_test.zig | 8 +- lib/std/compress/deflate/decompressor.zig | 4 +- lib/std/compress/deflate/deflate_fast.zig | 10 +- .../compress/deflate/deflate_fast_test.zig | 2 +- lib/std/compress/deflate/dict_decoder.zig | 2 +- .../compress/deflate/huffman_bit_writer.zig | 12 +- lib/std/compress/deflate/huffman_code.zig | 10 +- lib/std/compress/lzma/decode.zig | 2 +- lib/std/compress/lzma/decode/rangecoder.zig | 4 +- lib/std/comptime_string_map.zig | 2 +- lib/std/crypto/25519/ed25519.zig | 10 +- lib/std/crypto/25519/edwards25519.zig | 8 +- lib/std/crypto/Certificate.zig | 2 +- lib/std/crypto/aegis.zig | 6 +- lib/std/crypto/aes.zig | 8 +- lib/std/crypto/aes/aesni.zig | 4 +- lib/std/crypto/aes/armcrypto.zig | 4 +- lib/std/crypto/aes/soft.zig | 2 +- lib/std/crypto/aes_gcm.zig | 6 +- lib/std/crypto/aes_ocb.zig | 8 +- lib/std/crypto/argon2.zig | 14 +- lib/std/crypto/ascon.zig | 2 +- lib/std/crypto/bcrypt.zig | 4 +- lib/std/crypto/blake2.zig | 12 +- lib/std/crypto/blake3.zig | 6 +- lib/std/crypto/chacha20.zig | 6 +- lib/std/crypto/cmac.zig | 8 +- lib/std/crypto/ghash_polyval.zig | 4 +- lib/std/crypto/gimli.zig | 16 +- lib/std/crypto/hmac.zig | 4 +- lib/std/crypto/md5.zig | 2 +- lib/std/crypto/pbkdf2.zig | 2 +- lib/std/crypto/pcurves/common.zig | 2 +- lib/std/crypto/pcurves/p256.zig | 2 +- lib/std/crypto/pcurves/p256/scalar.zig | 2 +- lib/std/crypto/pcurves/p384.zig | 2 +- lib/std/crypto/pcurves/p384/scalar.zig | 2 +- lib/std/crypto/pcurves/secp256k1.zig | 2 +- lib/std/crypto/pcurves/secp256k1/scalar.zig | 2 +- lib/std/crypto/poly1305.zig | 4 +- lib/std/crypto/salsa20.zig | 8 +- lib/std/crypto/scrypt.zig | 14 +- lib/std/crypto/sha1.zig | 2 +- lib/std/crypto/sha2.zig | 6 +- lib/std/crypto/sha3.zig | 8 +- lib/std/crypto/siphash.zig | 6 +- lib/std/crypto/test.zig | 2 +- lib/std/crypto/tls.zig | 2 +- lib/std/crypto/utils.zig | 4 +- lib/std/crypto/xoodoo.zig | 2 +- lib/std/debug.zig | 10 +- lib/std/dwarf.zig | 2 +- lib/std/enums.zig | 4 +- lib/std/event/loop.zig | 4 +- lib/std/fmt.zig | 10 +- lib/std/fmt/parse_float/decimal.zig | 2 +- lib/std/fs/path.zig | 6 +- lib/std/fs/wasi.zig | 2 +- lib/std/hash/crc.zig | 6 +- lib/std/hash/wyhash.zig | 2 +- lib/std/hash_map.zig | 4 +- lib/std/heap.zig | 4 +- lib/std/heap/WasmPageAllocator.zig | 2 +- lib/std/heap/general_purpose_allocator.zig | 2 +- lib/std/json.zig | 12 +- lib/std/json/test.zig | 2 +- lib/std/math/big/int.zig | 14 +- lib/std/math/big/rational.zig | 2 +- lib/std/mem.zig | 24 +-- lib/std/meta.zig | 28 +-- lib/std/meta/trailer_flags.zig | 10 +- lib/std/multi_array_list.zig | 26 +-- lib/std/net.zig | 14 +- lib/std/net/test.zig | 2 +- lib/std/once.zig | 2 +- lib/std/os/linux.zig | 2 +- .../uefi/protocols/device_path_protocol.zig | 2 +- lib/std/os/windows.zig | 2 +- lib/std/packed_int_array.zig | 2 +- lib/std/pdb.zig | 2 +- lib/std/priority_dequeue.zig | 2 +- lib/std/priority_queue.zig | 2 +- lib/std/process.zig | 4 +- lib/std/rand.zig | 2 +- lib/std/rand/ziggurat.zig | 4 +- lib/std/simd.zig | 2 +- lib/std/sort.zig | 10 +- lib/std/target.zig | 8 +- lib/std/target/aarch64.zig | 2 +- lib/std/target/amdgpu.zig | 2 +- lib/std/target/arc.zig | 2 +- lib/std/target/arm.zig | 2 +- lib/std/target/avr.zig | 2 +- lib/std/target/bpf.zig | 2 +- lib/std/target/csky.zig | 2 +- lib/std/target/hexagon.zig | 2 +- lib/std/target/m68k.zig | 2 +- lib/std/target/mips.zig | 2 +- lib/std/target/msp430.zig | 2 +- lib/std/target/nvptx.zig | 2 +- lib/std/target/powerpc.zig | 2 +- lib/std/target/riscv.zig | 2 +- lib/std/target/s390x.zig | 2 +- lib/std/target/sparc.zig | 2 +- lib/std/target/spirv.zig | 2 +- lib/std/target/ve.zig | 2 +- lib/std/target/wasm.zig | 2 +- lib/std/target/x86.zig | 2 +- lib/std/testing.zig | 8 +- lib/std/wasm.zig | 4 +- lib/std/zig/Ast.zig | 6 +- lib/std/zig/CrossTarget.zig | 2 +- lib/std/zig/fmt.zig | 2 +- lib/std/zig/parser_test.zig | 2 +- lib/std/zig/render.zig | 22 +-- lib/std/zig/system/NativeTargetInfo.zig | 2 +- lib/std/zig/system/linux.zig | 2 +- lib/std/zig/system/windows.zig | 6 +- lib/test_runner.zig | 2 +- src/AstGen.zig | 16 +- src/Autodoc.zig | 16 +- src/Compilation.zig | 22 +-- src/Liveness.zig | 8 +- src/Manifest.zig | 2 +- src/Module.zig | 14 +- src/Package.zig | 2 +- src/RangeSet.zig | 2 +- src/Sema.zig | 182 +++++++++--------- src/arch/aarch64/CodeGen.zig | 26 +-- src/arch/aarch64/Emit.zig | 6 +- src/arch/arm/CodeGen.zig | 26 +-- src/arch/arm/Emit.zig | 6 +- src/arch/arm/bits.zig | 4 +- src/arch/riscv64/CodeGen.zig | 4 +- src/arch/riscv64/Emit.zig | 2 +- src/arch/sparc64/CodeGen.zig | 8 +- src/arch/sparc64/Emit.zig | 6 +- src/arch/wasm/CodeGen.zig | 18 +- src/arch/wasm/Emit.zig | 2 +- src/arch/x86_64/CodeGen.zig | 20 +- src/arch/x86_64/Emit.zig | 4 +- src/arch/x86_64/Mir.zig | 2 +- src/arch/x86_64/abi.zig | 10 +- src/codegen.zig | 4 +- src/codegen/c.zig | 52 ++--- src/codegen/llvm.zig | 60 +++--- src/codegen/spirv.zig | 4 +- src/codegen/spirv/Assembler.zig | 2 +- src/codegen/spirv/Module.zig | 4 +- src/codegen/spirv/Section.zig | 2 +- src/codegen/spirv/type.zig | 2 +- src/glibc.zig | 6 +- src/libc_installation.zig | 6 +- src/libunwind.zig | 2 +- src/link/Coff.zig | 6 +- src/link/Dwarf.zig | 10 +- src/link/Elf.zig | 18 +- src/link/MachO.zig | 36 ++-- src/link/MachO/DebugSymbols.zig | 8 +- src/link/MachO/Dylib.zig | 2 +- src/link/MachO/Object.zig | 14 +- src/link/MachO/UnwindInfo.zig | 16 +- src/link/MachO/dead_strip.zig | 2 +- src/link/MachO/dyld_info/Rebase.zig | 2 +- src/link/MachO/dyld_info/bind.zig | 2 +- src/link/MachO/eh_frame.zig | 8 +- src/link/MachO/thunks.zig | 2 +- src/link/MachO/zld.zig | 62 +++--- src/link/SpirV.zig | 4 +- src/link/Wasm.zig | 20 +- src/link/Wasm/Object.zig | 4 +- src/link/tapi.zig | 4 +- src/link/tapi/yaml.zig | 14 +- src/main.zig | 6 +- src/mingw.zig | 4 +- src/objcopy.zig | 2 +- src/print_air.zig | 16 +- src/print_targets.zig | 4 +- src/print_zir.zig | 16 +- src/register_manager.zig | 6 +- src/test.zig | 10 +- src/translate_c.zig | 14 +- src/translate_c/ast.zig | 22 +-- src/type.zig | 64 +++--- src/value.zig | 112 +++++------ tools/gen_spirv_spec.zig | 18 +- tools/gen_stubs.zig | 18 +- tools/update_clang_options.zig | 2 +- tools/update_cpu_features.zig | 4 +- tools/update_crc_catalog.zig | 2 +- tools/update_spirv_features.zig | 4 +- 216 files changed, 938 insertions(+), 938 deletions(-) diff --git a/lib/compiler_rt/atomics.zig b/lib/compiler_rt/atomics.zig index 4db6176dc0963b86dcb5910dc6d7bb1926e7b14d..5e25634f9dacbd47bd09eef22f68602e0582497c 100644 --- a/lib/compiler_rt/atomics.zig +++ b/lib/compiler_rt/atomics.zig @@ -151,7 +151,7 @@ fn __atomic_compare_exchange( _ = failure; var sl = spinlocks.get(@ptrToInt(ptr)); defer sl.release(); - for (ptr[0..size]) |b, i| { + for (ptr[0..size], 0..) |b, i| { if (expected[i] != b) break; } else { // The two objects, ptr and expected, are equal diff --git a/lib/compiler_rt/comparedf2_test.zig b/lib/compiler_rt/comparedf2_test.zig index a77718e57cd29511f7bf1587c42c925095a21be2..9444c6adf7bbcfd614d7d67022eeab6353d658a6 100644 --- a/lib/compiler_rt/comparedf2_test.zig +++ b/lib/compiler_rt/comparedf2_test.zig @@ -94,8 +94,8 @@ fn generateVector(comptime a: f64, comptime b: f64) TestVector { const test_vectors = init: { @setEvalBranchQuota(10000); var vectors: [arguments.len * arguments.len]TestVector = undefined; - for (arguments[0..]) |arg_i, i| { - for (arguments[0..]) |arg_j, j| { + for (arguments[0..], 0..) |arg_i, i| { + for (arguments[0..], 0..) |arg_j, j| { vectors[(i * arguments.len) + j] = generateVector(arg_i, arg_j); } } diff --git a/lib/compiler_rt/comparesf2_test.zig b/lib/compiler_rt/comparesf2_test.zig index b2fafd38ddfdd25a833cd2d44c92f12176d3b605..40b1324cfa708fe00ec59ce153237a6c8cba29bb 100644 --- a/lib/compiler_rt/comparesf2_test.zig +++ b/lib/compiler_rt/comparesf2_test.zig @@ -94,8 +94,8 @@ fn generateVector(comptime a: f32, comptime b: f32) TestVector { const test_vectors = init: { @setEvalBranchQuota(10000); var vectors: [arguments.len * arguments.len]TestVector = undefined; - for (arguments[0..]) |arg_i, i| { - for (arguments[0..]) |arg_j, j| { + for (arguments[0..], 0..) |arg_i, i| { + for (arguments[0..], 0..) |arg_j, j| { vectors[(i * arguments.len) + j] = generateVector(arg_i, arg_j); } } diff --git a/lib/std/Build.zig b/lib/std/Build.zig index a375b45454108ba94e708107307d0d1569504575..678120847f1c8761008b900eca5c7390923b4898 100644 --- a/lib/std/Build.zig +++ b/lib/std/Build.zig @@ -650,7 +650,7 @@ pub fn dupe(self: *Build, bytes: []const u8) []u8 { /// Duplicates an array of strings without the need to handle out of memory. pub fn dupeStrings(self: *Build, strings: []const []const u8) [][]u8 { const array = self.allocator.alloc([]u8, strings.len) catch @panic("OOM"); - for (strings) |s, i| { + for (strings, 0..) |s, i| { array[i] = self.dupe(s); } return array; @@ -1051,7 +1051,7 @@ pub fn standardTargetOptions(self: *Build, args: StandardTargetOptionsArgs) Cros const all_features = whitelist_cpu.arch.allFeaturesList(); var populated_cpu_features = whitelist_cpu.model.features; populated_cpu_features.populateDependencies(all_features); - for (all_features) |feature, i_usize| { + for (all_features, 0..) |feature, i_usize| { const i = @intCast(std.Target.Cpu.Feature.Set.Index, i_usize); const in_cpu_set = populated_cpu_features.isEnabled(i); if (in_cpu_set) { @@ -1059,7 +1059,7 @@ pub fn standardTargetOptions(self: *Build, args: StandardTargetOptionsArgs) Cros } } log.err(" Remove: ", .{}); - for (all_features) |feature, i_usize| { + for (all_features, 0..) |feature, i_usize| { const i = @intCast(std.Target.Cpu.Feature.Set.Index, i_usize); const in_cpu_set = populated_cpu_features.isEnabled(i); const in_actual_set = selected_cpu.features.isEnabled(i); @@ -1748,7 +1748,7 @@ pub fn serializeCpu(allocator: Allocator, cpu: std.Target.Cpu) ![]const u8 { var mcpu_buffer = ArrayList(u8).init(allocator); try mcpu_buffer.appendSlice(cpu.model.name); - for (all_features) |feature, i_usize| { + for (all_features, 0..) |feature, i_usize| { const i = @intCast(std.Target.Cpu.Feature.Set.Index, i_usize); const in_cpu_set = populated_cpu_features.isEnabled(i); const in_actual_set = cpu.features.isEnabled(i); diff --git a/lib/std/Build/CompileStep.zig b/lib/std/Build/CompileStep.zig index 1f145f8171336e51b32a57bb6704f3a12c07d745..a916de0fc6f8b88df770b3512152cdf4ad211907 100644 --- a/lib/std/Build/CompileStep.zig +++ b/lib/std/Build/CompileStep.zig @@ -1016,7 +1016,7 @@ pub fn addVcpkgPaths(self: *CompileStep, linkage: CompileStep.Linkage) !void { pub fn setExecCmd(self: *CompileStep, args: []const ?[]const u8) void { assert(self.kind == .@"test"); const duped_args = self.builder.allocator.alloc(?[]u8, args.len) catch @panic("OOM"); - for (args) |arg, i| { + for (args, 0..) |arg, i| { duped_args[i] = if (arg) |a| self.builder.dupe(a) else null; } self.exec_cmd_args = duped_args; @@ -1040,7 +1040,7 @@ fn appendModuleArgs( { const keys = module.dependencies.keys(); - for (module.dependencies.values()) |sub_module, i| { + for (module.dependencies.values(), 0..) |sub_module, i| { const sub_name = keys[i]; try cs.appendModuleArgs(zig_args, sub_name, sub_module); } @@ -1575,7 +1575,7 @@ fn make(step: *Step) !void { { const keys = self.modules.keys(); - for (self.modules.values()) |module, i| { + for (self.modules.values(), 0..) |module, i| { const name = keys[i]; try self.appendModuleArgs(&zig_args, name, module); } @@ -1750,7 +1750,7 @@ fn make(step: *Step) !void { const args_to_escape = zig_args.items[2..]; var escaped_args = try ArrayList([]const u8).initCapacity(builder.allocator, args_to_escape.len); arg_blk: for (args_to_escape) |arg| { - for (arg) |c, arg_idx| { + for (arg, 0..) |c, arg_idx| { if (c == '\\' or c == '"') { // Slow path for arguments that need to be escaped. We'll need to allocate and copy var escaped = try ArrayList(u8).initCapacity(builder.allocator, arg.len + 1); diff --git a/lib/std/Build/ConfigHeaderStep.zig b/lib/std/Build/ConfigHeaderStep.zig index f8d6f7bd570c19c3df255dc1aad038c524f891aa..595c1018f70955dde67d22611bc391e4b5faf872 100644 --- a/lib/std/Build/ConfigHeaderStep.zig +++ b/lib/std/Build/ConfigHeaderStep.zig @@ -350,7 +350,7 @@ fn render_blank( try output.appendSlice("\n"); const values = defines.values(); - for (defines.keys()) |name, i| { + for (defines.keys(), 0..) |name, i| { try renderValueC(output, name, values[i]); } @@ -361,7 +361,7 @@ fn render_blank( fn render_nasm(output: *std.ArrayList(u8), defines: std.StringArrayHashMap(Value)) !void { const values = defines.values(); - for (defines.keys()) |name, i| { + for (defines.keys(), 0..) |name, i| { try renderValueNasm(output, name, values[i]); } } diff --git a/lib/std/Build/FmtStep.zig b/lib/std/Build/FmtStep.zig index 6404d22f13bd99f3cc5f2d154bef8bc4bbda3afb..4a5efde2bd81176417f702dca387dd5d7228fcac 100644 --- a/lib/std/Build/FmtStep.zig +++ b/lib/std/Build/FmtStep.zig @@ -19,7 +19,7 @@ pub fn create(builder: *std.Build, paths: []const []const u8) *FmtStep { self.argv[0] = builder.zig_exe; self.argv[1] = "fmt"; - for (paths) |path, i| { + for (paths, 0..) |path, i| { self.argv[2 + i] = builder.pathFromRoot(path); } return self; diff --git a/lib/std/Thread/Condition.zig b/lib/std/Thread/Condition.zig index ab75a0e5e2a7d903db3b99db5b78181c03512cb7..793779dbdb90d64b59a302ecf03bcf868b86f293 100644 --- a/lib/std/Thread/Condition.zig +++ b/lib/std/Thread/Condition.zig @@ -341,7 +341,7 @@ test "Condition - wait and signal" { }; var multi_wait = MultiWait{}; - for (multi_wait.threads) |*t| { + for (&multi_wait.threads) |*t| { t.* = try std.Thread.spawn(.{}, MultiWait.run, .{&multi_wait}); } @@ -389,7 +389,7 @@ test "Condition - signal" { }; var signal_test = SignalTest{}; - for (signal_test.threads) |*t| { + for (&signal_test.threads) |*t| { t.* = try std.Thread.spawn(.{}, SignalTest.run, .{&signal_test}); } @@ -457,7 +457,7 @@ test "Condition - multi signal" { var threads = [_]std.Thread{undefined} ** num_threads; // Create a circle of paddles which hit each other - for (threads) |*t, i| { + for (&threads, 0..) |*t, i| { const paddle = &paddles[i]; const hit_to = &paddles[(i + 1) % paddles.len]; t.* = try std.Thread.spawn(.{}, Paddle.run, .{ paddle, hit_to }); @@ -468,7 +468,7 @@ test "Condition - multi signal" { for (threads) |t| t.join(); // The first paddle will be hit one last time by the last paddle. - for (paddles) |p, i| { + for (paddles, 0..) |p, i| { const expected = @as(u32, num_iterations) + @boolToInt(i == 0); try testing.expectEqual(p.value, expected); } @@ -513,7 +513,7 @@ test "Condition - broadcasting" { }; var broadcast_test = BroadcastTest{}; - for (broadcast_test.threads) |*t| { + for (&broadcast_test.threads) |*t| { t.* = try std.Thread.spawn(.{}, BroadcastTest.run, .{&broadcast_test}); } @@ -584,7 +584,7 @@ test "Condition - broadcasting - wake all threads" { var broadcast_test = BroadcastTest{}; var thread_id: usize = 1; - for (broadcast_test.threads) |*t| { + for (&broadcast_test.threads) |*t| { t.* = try std.Thread.spawn(.{}, BroadcastTest.run, .{ &broadcast_test, thread_id }); thread_id += 1; } diff --git a/lib/std/Thread/Futex.zig b/lib/std/Thread/Futex.zig index 15ef35698e91e5c8c25145ca1e768de32fcc6f57..7efdc69d3b2e0f747ed8f5e8d56a177606ec6d6f 100644 --- a/lib/std/Thread/Futex.zig +++ b/lib/std/Thread/Futex.zig @@ -895,7 +895,7 @@ test "Futex - signaling" { var threads = [_]std.Thread{undefined} ** num_threads; // Create a circle of paddles which hit each other - for (threads) |*t, i| { + for (&threads, 0..) |*t, i| { const paddle = &paddles[i]; const hit_to = &paddles[(i + 1) % paddles.len]; t.* = try std.Thread.spawn(.{}, Paddle.run, .{ paddle, hit_to }); @@ -950,14 +950,14 @@ test "Futex - broadcasting" { threads: [num_threads]std.Thread = undefined, fn run(self: *@This()) !void { - for (self.barriers) |*barrier| { + for (&self.barriers) |*barrier| { try barrier.wait(); } } }; var broadcast = Broadcast{}; - for (broadcast.threads) |*t| t.* = try std.Thread.spawn(.{}, Broadcast.run, .{&broadcast}); + for (&broadcast.threads) |*t| t.* = try std.Thread.spawn(.{}, Broadcast.run, .{&broadcast}); for (broadcast.threads) |t| t.join(); } diff --git a/lib/std/Thread/Mutex.zig b/lib/std/Thread/Mutex.zig index ecb3556b6cf394ad817653ef8dbf038ecfa9e877..89dedaf2b7fe92d4b1794d34cfeaf1649408ca48 100644 --- a/lib/std/Thread/Mutex.zig +++ b/lib/std/Thread/Mutex.zig @@ -245,7 +245,7 @@ const NonAtomicCounter = struct { } fn inc(self: *NonAtomicCounter) void { - for (@bitCast([2]u64, self.get() + 1)) |v, i| { + for (@bitCast([2]u64, self.get() + 1), 0..) |v, i| { @ptrCast(*volatile u64, &self.value[i]).* = v; } } @@ -277,7 +277,7 @@ test "Mutex - many uncontended" { }; var runners = [_]Runner{.{}} ** num_threads; - for (runners) |*r| r.thread = try Thread.spawn(.{}, Runner.run, .{r}); + for (&runners) |*r| r.thread = try Thread.spawn(.{}, Runner.run, .{r}); for (runners) |r| r.thread.join(); for (runners) |r| try testing.expectEqual(r.counter.get(), num_increments); } @@ -312,7 +312,7 @@ test "Mutex - many contended" { var runner = Runner{}; var threads: [num_threads]Thread = undefined; - for (threads) |*t| t.* = try Thread.spawn(.{}, Runner.run, .{&runner}); + for (&threads) |*t| t.* = try Thread.spawn(.{}, Runner.run, .{&runner}); for (threads) |t| t.join(); try testing.expectEqual(runner.counter.get(), num_increments * num_threads); diff --git a/lib/std/Thread/ResetEvent.zig b/lib/std/Thread/ResetEvent.zig index 87232c29cf1d4b5df10addce93386f47a2145164..42cf74fd42db902a732f97054ef9a7376b32b5aa 100644 --- a/lib/std/Thread/ResetEvent.zig +++ b/lib/std/Thread/ResetEvent.zig @@ -274,7 +274,7 @@ test "ResetEvent - broadcast" { var ctx = Context{}; var threads: [num_threads - 1]std.Thread = undefined; - for (threads) |*t| t.* = try std.Thread.spawn(.{}, Context.run, .{&ctx}); + for (&threads) |*t| t.* = try std.Thread.spawn(.{}, Context.run, .{&ctx}); defer for (threads) |t| t.join(); ctx.run(); diff --git a/lib/std/Thread/RwLock.zig b/lib/std/Thread/RwLock.zig index c4105817b37940f1e216517375239fc6b00fb343..e78695a1d8288a5de85a481d1ab7e630e1bb3738 100644 --- a/lib/std/Thread/RwLock.zig +++ b/lib/std/Thread/RwLock.zig @@ -364,7 +364,7 @@ test "RwLock - concurrent access" { var runner = Runner{}; var threads: [num_writers + num_readers]std.Thread = undefined; - for (threads[0..num_writers]) |*t, i| t.* = try std.Thread.spawn(.{}, Runner.writer, .{ &runner, i }); + for (threads[0..num_writers], 0..) |*t, i| t.* = try std.Thread.spawn(.{}, Runner.writer, .{ &runner, i }); for (threads[num_writers..]) |*t| t.* = try std.Thread.spawn(.{}, Runner.reader, .{&runner}); for (threads) |t| t.join(); diff --git a/lib/std/Thread/Semaphore.zig b/lib/std/Thread/Semaphore.zig index 72191ffd6f6acf0e720df0d191f7c22c05b6359e..1b182d4c2af64a727808414ac1e8b7156a74fbde 100644 --- a/lib/std/Thread/Semaphore.zig +++ b/lib/std/Thread/Semaphore.zig @@ -54,7 +54,7 @@ test "Thread.Semaphore" { var n: i32 = 0; var ctx = TestContext{ .sem = &sem, .n = &n }; - for (threads) |*t| t.* = try std.Thread.spawn(.{}, TestContext.worker, .{&ctx}); + for (&threads) |*t| t.* = try std.Thread.spawn(.{}, TestContext.worker, .{&ctx}); for (threads) |t| t.join(); sem.wait(); try testing.expect(n == num_threads); diff --git a/lib/std/array_hash_map.zig b/lib/std/array_hash_map.zig index 57821d1b51c9c1810379b5c112f2db8d1c7dbfb0..f62616cd853e7d67f10c06fc0ed24c2889344094 100644 --- a/lib/std/array_hash_map.zig +++ b/lib/std/array_hash_map.zig @@ -715,7 +715,7 @@ pub fn ArrayHashMapUnmanaged( const slice = self.entries.slice(); const hashes_array = slice.items(.hash); const keys_array = slice.items(.key); - for (keys_array) |*item_key, i| { + for (keys_array, 0..) |*item_key, i| { if (hashes_array[i] == h and checkedEql(ctx, key, item_key.*, i)) { return GetOrPutResult{ .key_ptr = item_key, @@ -946,7 +946,7 @@ pub fn ArrayHashMapUnmanaged( const slice = self.entries.slice(); const hashes_array = slice.items(.hash); const keys_array = slice.items(.key); - for (keys_array) |*item_key, i| { + for (keys_array, 0..) |*item_key, i| { if (hashes_array[i] == h and checkedEql(ctx, key, item_key.*, i)) { return i; } @@ -1285,7 +1285,7 @@ pub fn ArrayHashMapUnmanaged( const slice = self.entries.slice(); const hashes_array = if (store_hash) slice.items(.hash) else {}; const keys_array = slice.items(.key); - for (keys_array) |*item_key, i| { + for (keys_array, 0..) |*item_key, i| { const hash_match = if (store_hash) hashes_array[i] == key_hash else true; if (hash_match and key_ctx.eql(key, item_key.*, i)) { const removed_entry: KV = .{ @@ -1326,7 +1326,7 @@ pub fn ArrayHashMapUnmanaged( const slice = self.entries.slice(); const hashes_array = if (store_hash) slice.items(.hash) else {}; const keys_array = slice.items(.key); - for (keys_array) |*item_key, i| { + for (keys_array, 0..) |*item_key, i| { const hash_match = if (store_hash) hashes_array[i] == key_hash else true; if (hash_match and key_ctx.eql(key, item_key.*, i)) { switch (removal_type) { @@ -1634,7 +1634,7 @@ pub fn ArrayHashMapUnmanaged( const items = if (store_hash) slice.items(.hash) else slice.items(.key); const indexes = header.indexes(I); - entry_loop: for (items) |key, i| { + entry_loop: for (items, 0..) |key, i| { const h = if (store_hash) key else checkedHash(ctx, key); const start_index = safeTruncate(usize, h); const end_index = start_index +% indexes.len; @@ -1730,7 +1730,7 @@ pub fn ArrayHashMapUnmanaged( const indexes = header.indexes(I); if (indexes.len == 0) return; var is_empty = false; - for (indexes) |idx, i| { + for (indexes, 0..) |idx, i| { if (idx.isEmpty()) { is_empty = true; } else { @@ -1826,7 +1826,7 @@ const min_bit_index = 5; const max_capacity = (1 << max_bit_index) - 1; const index_capacities = blk: { var caps: [max_bit_index + 1]u32 = undefined; - for (caps[0..max_bit_index]) |*item, i| { + for (caps[0..max_bit_index], 0..) |*item, i| { item.* = (1 << i) * 3 / 5; } caps[max_bit_index] = max_capacity; @@ -2025,7 +2025,7 @@ test "iterator hash map" { try testing.expect(count == 3); try testing.expect(it.next() == null); - for (buffer) |_, i| { + for (buffer, 0..) |_, i| { try testing.expect(buffer[@intCast(usize, keys[i])] == values[i]); } @@ -2037,7 +2037,7 @@ test "iterator hash map" { if (count >= 2) break; } - for (buffer[0..2]) |_, i| { + for (buffer[0..2], 0..) |_, i| { try testing.expect(buffer[@intCast(usize, keys[i])] == values[i]); } @@ -2299,7 +2299,7 @@ test "sort" { map.sort(C{ .keys = map.keys() }); var x: i32 = 1; - for (map.keys()) |key, i| { + for (map.keys(), 0..) |key, i| { try testing.expect(key == x); try testing.expect(map.values()[i] == x * 3); x += 1; diff --git a/lib/std/array_list.zig b/lib/std/array_list.zig index 2485668417a8b7921375b432cb33f8be22ee852a..13aad53019e56ec9342fc5501fd10a690512b69c 100644 --- a/lib/std/array_list.zig +++ b/lib/std/array_list.zig @@ -183,7 +183,7 @@ pub fn ArrayListAligned(comptime T: type, comptime alignment: ?u29) type { mem.copy(T, range, new_items); const after_subrange = start + new_items.len; - for (self.items[after_range..]) |item, i| { + for (self.items[after_range..], 0..) |item, i| { self.items[after_subrange..][i] = item; } @@ -216,7 +216,7 @@ pub fn ArrayListAligned(comptime T: type, comptime alignment: ?u29) type { if (newlen == i) return self.pop(); const old_item = self.items[i]; - for (self.items[i..newlen]) |*b, j| b.* = self.items[i + 1 + j]; + for (self.items[i..newlen], 0..) |*b, j| b.* = self.items[i + 1 + j]; self.items[newlen] = undefined; self.items.len = newlen; return old_item; @@ -666,7 +666,7 @@ pub fn ArrayListAlignedUnmanaged(comptime T: type, comptime alignment: ?u29) typ if (newlen == i) return self.pop(); const old_item = self.items[i]; - for (self.items[i..newlen]) |*b, j| b.* = self.items[i + 1 + j]; + for (self.items[i..newlen], 0..) |*b, j| b.* = self.items[i + 1 + j]; self.items[newlen] = undefined; self.items.len = newlen; return old_item; @@ -1069,7 +1069,7 @@ test "std.ArrayList/ArrayListUnmanaged.basic" { } } - for (list.items) |v, i| { + for (list.items, 0..) |v, i| { try testing.expect(v == @intCast(i32, i + 1)); } @@ -1119,7 +1119,7 @@ test "std.ArrayList/ArrayListUnmanaged.basic" { } } - for (list.items) |v, i| { + for (list.items, 0..) |v, i| { try testing.expect(v == @intCast(i32, i + 1)); } diff --git a/lib/std/ascii.zig b/lib/std/ascii.zig index 79038a37dc22e0b0d1cfbdb19bc2da5f4ccb859d..941f398f20e25059d0a3a5fd5a685a9022d9eada 100644 --- a/lib/std/ascii.zig +++ b/lib/std/ascii.zig @@ -272,7 +272,7 @@ test "ASCII character classes" { /// Asserts `output.len >= ascii_string.len`. pub fn lowerString(output: []u8, ascii_string: []const u8) []u8 { std.debug.assert(output.len >= ascii_string.len); - for (ascii_string) |c, i| { + for (ascii_string, 0..) |c, i| { output[i] = toLower(c); } return output[0..ascii_string.len]; @@ -301,7 +301,7 @@ test "allocLowerString" { /// Asserts `output.len >= ascii_string.len`. pub fn upperString(output: []u8, ascii_string: []const u8) []u8 { std.debug.assert(output.len >= ascii_string.len); - for (ascii_string) |c, i| { + for (ascii_string, 0..) |c, i| { output[i] = toUpper(c); } return output[0..ascii_string.len]; @@ -329,7 +329,7 @@ test "allocUpperString" { /// Compares strings `a` and `b` case-insensitively and returns whether they are equal. pub fn eqlIgnoreCase(a: []const u8, b: []const u8) bool { if (a.len != b.len) return false; - for (a) |a_c, i| { + for (a, 0..) |a_c, i| { if (toLower(a_c) != toLower(b[i])) return false; } return true; diff --git a/lib/std/atomic/Atomic.zig b/lib/std/atomic/Atomic.zig index 850075d4cb62494227aeec8e7ec397c92991c157..51e61ca6281ae7d03c64391e90229d4f540de009 100644 --- a/lib/std/atomic/Atomic.zig +++ b/lib/std/atomic/Atomic.zig @@ -548,7 +548,7 @@ test "Atomic.bitSet" { var x = Atomic(Int).init(0); const bit_array = @as([@bitSizeOf(Int)]void, undefined); - for (bit_array) |_, bit_index| { + for (bit_array, 0..) |_, bit_index| { const bit = @intCast(std.math.Log2Int(Int), bit_index); const mask = @as(Int, 1) << bit; @@ -562,7 +562,7 @@ test "Atomic.bitSet" { try testing.expect(x.load(.SeqCst) & mask != 0); // all the previous bits should have not changed (still be set) - for (bit_array[0..bit_index]) |_, prev_bit_index| { + for (bit_array[0..bit_index], 0..) |_, prev_bit_index| { const prev_bit = @intCast(std.math.Log2Int(Int), prev_bit_index); const prev_mask = @as(Int, 1) << prev_bit; try testing.expect(x.load(.SeqCst) & prev_mask != 0); @@ -578,7 +578,7 @@ test "Atomic.bitReset" { var x = Atomic(Int).init(0); const bit_array = @as([@bitSizeOf(Int)]void, undefined); - for (bit_array) |_, bit_index| { + for (bit_array, 0..) |_, bit_index| { const bit = @intCast(std.math.Log2Int(Int), bit_index); const mask = @as(Int, 1) << bit; x.storeUnchecked(x.loadUnchecked() | mask); @@ -593,7 +593,7 @@ test "Atomic.bitReset" { try testing.expect(x.load(.SeqCst) & mask == 0); // all the previous bits should have not changed (still be reset) - for (bit_array[0..bit_index]) |_, prev_bit_index| { + for (bit_array[0..bit_index], 0..) |_, prev_bit_index| { const prev_bit = @intCast(std.math.Log2Int(Int), prev_bit_index); const prev_mask = @as(Int, 1) << prev_bit; try testing.expect(x.load(.SeqCst) & prev_mask == 0); @@ -609,7 +609,7 @@ test "Atomic.bitToggle" { var x = Atomic(Int).init(0); const bit_array = @as([@bitSizeOf(Int)]void, undefined); - for (bit_array) |_, bit_index| { + for (bit_array, 0..) |_, bit_index| { const bit = @intCast(std.math.Log2Int(Int), bit_index); const mask = @as(Int, 1) << bit; @@ -623,7 +623,7 @@ test "Atomic.bitToggle" { try testing.expect(x.load(.SeqCst) & mask == 0); // all the previous bits should have not changed (still be toggled back) - for (bit_array[0..bit_index]) |_, prev_bit_index| { + for (bit_array[0..bit_index], 0..) |_, prev_bit_index| { const prev_bit = @intCast(std.math.Log2Int(Int), prev_bit_index); const prev_mask = @as(Int, 1) << prev_bit; try testing.expect(x.load(.SeqCst) & prev_mask == 0); diff --git a/lib/std/atomic/queue.zig b/lib/std/atomic/queue.zig index 8100a9e26a08574727486730720f2dd7fb59a08d..7c9ffa2684a0e05eb00b373e20f066d927f6b280 100644 --- a/lib/std/atomic/queue.zig +++ b/lib/std/atomic/queue.zig @@ -212,11 +212,11 @@ test "std.atomic.Queue" { try expect(context.queue.isEmpty()); var putters: [put_thread_count]std.Thread = undefined; - for (putters) |*t| { + for (&putters) |*t| { t.* = try std.Thread.spawn(.{}, startPuts, .{&context}); } var getters: [put_thread_count]std.Thread = undefined; - for (getters) |*t| { + for (&getters) |*t| { t.* = try std.Thread.spawn(.{}, startGets, .{&context}); } diff --git a/lib/std/atomic/stack.zig b/lib/std/atomic/stack.zig index a6396bb22bc6083dc35a0bf105e306a61b8245e0..9ad7c76d81e0032c465b6cd93621a0f1aaf2c894 100644 --- a/lib/std/atomic/stack.zig +++ b/lib/std/atomic/stack.zig @@ -117,11 +117,11 @@ test "std.atomic.stack" { } } else { var putters: [put_thread_count]std.Thread = undefined; - for (putters) |*t| { + for (&putters) |*t| { t.* = try std.Thread.spawn(.{}, startPuts, .{&context}); } var getters: [put_thread_count]std.Thread = undefined; - for (getters) |*t| { + for (&getters) |*t| { t.* = try std.Thread.spawn(.{}, startGets, .{&context}); } diff --git a/lib/std/base64.zig b/lib/std/base64.zig index 0eeb30abbcdba16841f68b03ef2ad02878c24050..83f07b9c185486c9e0768a31caace0b6b06a00ce 100644 --- a/lib/std/base64.zig +++ b/lib/std/base64.zig @@ -140,7 +140,7 @@ pub const Base64Decoder = struct { }; var char_in_alphabet = [_]bool{false} ** 256; - for (alphabet_chars) |c, i| { + for (alphabet_chars, 0..) |c, i| { assert(!char_in_alphabet[c]); assert(pad_char == null or c != pad_char.?); @@ -185,7 +185,7 @@ pub const Base64Decoder = struct { var acc_len: u4 = 0; var dest_idx: usize = 0; var leftover_idx: ?usize = null; - for (source) |c, src_idx| { + for (source, 0..) |c, src_idx| { const d = decoder.char_to_index[c]; if (d == invalid_char) { if (decoder.pad_char == null or c != decoder.pad_char.?) return error.InvalidCharacter; @@ -258,7 +258,7 @@ pub const Base64DecoderWithIgnore = struct { var acc_len: u4 = 0; var dest_idx: usize = 0; var leftover_idx: ?usize = null; - for (source) |c, src_idx| { + for (source, 0..) |c, src_idx| { if (decoder_with_ignore.char_is_ignored[c]) continue; const d = decoder.char_to_index[c]; if (d == Base64Decoder.invalid_char) { diff --git a/lib/std/bit_set.zig b/lib/std/bit_set.zig index a56dec5beb0ccd5cfcce08e5a7878c4b2c323f13..a027022497cf2b5794d79e5acb52c3a145ea6cc0 100644 --- a/lib/std/bit_set.zig +++ b/lib/std/bit_set.zig @@ -494,14 +494,14 @@ pub fn ArrayBitSet(comptime MaskIntType: type, comptime size: usize) type { /// Flips all bits in this bit set which are present /// in the toggles bit set. pub fn toggleSet(self: *Self, toggles: Self) void { - for (self.masks) |*mask, i| { + for (&self.masks, 0..) |*mask, i| { mask.* ^= toggles.masks[i]; } } /// Flips every bit in the bit set. pub fn toggleAll(self: *Self) void { - for (self.masks) |*mask| { + for (&self.masks) |*mask| { mask.* = ~mask.*; } @@ -515,7 +515,7 @@ pub fn ArrayBitSet(comptime MaskIntType: type, comptime size: usize) type { /// result in the first one. Bits in the result are /// set if the corresponding bits were set in either input. pub fn setUnion(self: *Self, other: Self) void { - for (self.masks) |*mask, i| { + for (&self.masks, 0..) |*mask, i| { mask.* |= other.masks[i]; } } @@ -524,7 +524,7 @@ pub fn ArrayBitSet(comptime MaskIntType: type, comptime size: usize) type { /// the result in the first one. Bits in the result are /// set if the corresponding bits were set in both inputs. pub fn setIntersection(self: *Self, other: Self) void { - for (self.masks) |*mask, i| { + for (&self.masks, 0..) |*mask, i| { mask.* &= other.masks[i]; } } @@ -544,7 +544,7 @@ pub fn ArrayBitSet(comptime MaskIntType: type, comptime size: usize) type { /// If no bits are set, returns null. pub fn toggleFirstSet(self: *Self) ?usize { var offset: usize = 0; - const mask = for (self.masks) |*mask| { + const mask = for (&self.masks) |*mask| { if (mask.* != 0) break mask; offset += @bitSizeOf(MaskInt); } else return null; @@ -869,7 +869,7 @@ pub const DynamicBitSetUnmanaged = struct { pub fn toggleSet(self: *Self, toggles: Self) void { assert(toggles.bit_length == self.bit_length); const num_masks = numMasks(self.bit_length); - for (self.masks[0..num_masks]) |*mask, i| { + for (self.masks[0..num_masks], 0..) |*mask, i| { mask.* ^= toggles.masks[i]; } } @@ -897,7 +897,7 @@ pub const DynamicBitSetUnmanaged = struct { pub fn setUnion(self: *Self, other: Self) void { assert(other.bit_length == self.bit_length); const num_masks = numMasks(self.bit_length); - for (self.masks[0..num_masks]) |*mask, i| { + for (self.masks[0..num_masks], 0..) |*mask, i| { mask.* |= other.masks[i]; } } @@ -909,7 +909,7 @@ pub const DynamicBitSetUnmanaged = struct { pub fn setIntersection(self: *Self, other: Self) void { assert(other.bit_length == self.bit_length); const num_masks = numMasks(self.bit_length); - for (self.masks[0..num_masks]) |*mask, i| { + for (self.masks[0..num_masks], 0..) |*mask, i| { mask.* &= other.masks[i]; } } diff --git a/lib/std/bounded_array.zig b/lib/std/bounded_array.zig index 7f1957d6dc05f9d79c7fde96f9caf98bcb063e35..5242470631eb8bef204212f20506e9dd1a103cac 100644 --- a/lib/std/bounded_array.zig +++ b/lib/std/bounded_array.zig @@ -169,7 +169,7 @@ pub fn BoundedArray(comptime T: type, comptime buffer_capacity: usize) type { } else { mem.copy(T, range, new_items); const after_subrange = start + new_items.len; - for (self.constSlice()[after_range..]) |item, i| { + for (self.constSlice()[after_range..], 0..) |item, i| { self.slice()[after_subrange..][i] = item; } self.len -= len - new_items.len; @@ -197,7 +197,7 @@ pub fn BoundedArray(comptime T: type, comptime buffer_capacity: usize) type { const newlen = self.len - 1; if (newlen == i) return self.pop(); const old_item = self.get(i); - for (self.slice()[i..newlen]) |*b, j| b.* = self.get(i + 1 + j); + for (self.slice()[i..newlen], 0..) |*b, j| b.* = self.get(i + 1 + j); self.set(newlen, undefined); self.len = newlen; return old_item; diff --git a/lib/std/child_process.zig b/lib/std/child_process.zig index 003e37d76ba94464b8c6288aa59ac8a39192dc73..07dd1f27f5f5c048ac4b2b5a3fdbbae3f3e7df3d 100644 --- a/lib/std/child_process.zig +++ b/lib/std/child_process.zig @@ -604,7 +604,7 @@ pub const ChildProcess = struct { const arena = arena_allocator.allocator(); const argv_buf = try arena.allocSentinel(?[*:0]u8, self.argv.len, null); - for (self.argv) |arg, i| argv_buf[i] = (try arena.dupeZ(u8, arg)).ptr; + for (self.argv, 0..) |arg, i| argv_buf[i] = (try arena.dupeZ(u8, arg)).ptr; const envp = if (self.env_map) |env_map| m: { const envp_buf = try createNullDelimitedEnvMap(arena, env_map); @@ -712,7 +712,7 @@ pub const ChildProcess = struct { // Therefore, we do all the allocation for the execve() before the fork(). // This means we must do the null-termination of argv and env vars here. const argv_buf = try arena.allocSentinel(?[*:0]u8, self.argv.len, null); - for (self.argv) |arg, i| argv_buf[i] = (try arena.dupeZ(u8, arg)).ptr; + for (self.argv, 0..) |arg, i| argv_buf[i] = (try arena.dupeZ(u8, arg)).ptr; const envp = m: { if (self.env_map) |env_map| { @@ -1424,7 +1424,7 @@ fn windowsCreateCommandLine(allocator: mem.Allocator, argv: []const []const u8) var buf = std.ArrayList(u8).init(allocator); defer buf.deinit(); - for (argv) |arg, arg_i| { + for (argv, 0..) |arg, arg_i| { if (arg_i != 0) try buf.append(' '); if (mem.indexOfAny(u8, arg, " \t\n\"") == null) { try buf.appendSlice(arg); diff --git a/lib/std/coff.zig b/lib/std/coff.zig index 3225a2525f13b9a936e48228bcfd6eae6d4ee9d8..a7c191e650e00756496c19a0180d2a3c517f8ec9 100644 --- a/lib/std/coff.zig +++ b/lib/std/coff.zig @@ -1223,7 +1223,7 @@ pub const Coff = struct { pub fn getSectionHeadersAlloc(self: *const Coff, allocator: mem.Allocator) ![]SectionHeader { const section_headers = self.getSectionHeaders(); const out_buff = try allocator.alloc(SectionHeader, section_headers.len); - for (out_buff) |*section_header, i| { + for (out_buff, 0..) |*section_header, i| { section_header.* = section_headers[i]; } diff --git a/lib/std/compress/deflate/compressor.zig b/lib/std/compress/deflate/compressor.zig index 45c5c6bf8e3f3cc1b1fdb623598951e7b97684e5..6c218759410240ff038ad15a93ae5e83b2142630 100644 --- a/lib/std/compress/deflate/compressor.zig +++ b/lib/std/compress/deflate/compressor.zig @@ -159,7 +159,7 @@ fn levels(compression: Compression) CompressionLevel { fn matchLen(a: []u8, b: []u8, max: u32) u32 { var bounded_a = a[0..max]; var bounded_b = b[0..max]; - for (bounded_a) |av, i| { + for (bounded_a, 0..) |av, i| { if (bounded_b[i] != av) { return @intCast(u32, i); } @@ -312,14 +312,14 @@ pub fn Compressor(comptime WriterType: anytype) type { // Iterate over slices instead of arrays to avoid copying // the entire table onto the stack (https://golang.org/issue/18625). - for (self.hash_prev) |v, i| { + for (self.hash_prev, 0..) |v, i| { if (v > delta) { self.hash_prev[i] = @intCast(u32, v - delta); } else { self.hash_prev[i] = 0; } } - for (self.hash_head) |v, i| { + for (self.hash_head, 0..) |v, i| { if (v > delta) { self.hash_head[i] = @intCast(u32, v - delta); } else { @@ -391,7 +391,7 @@ pub fn Compressor(comptime WriterType: anytype) type { var dst = self.hash_match[0..dst_size]; _ = self.bulk_hasher(to_check, dst); var new_h: u32 = 0; - for (dst) |val, i| { + for (dst, 0..) |val, i| { var di = i + index; new_h = val; var hh = &self.hash_head[new_h & hash_mask]; @@ -1102,7 +1102,7 @@ test "bulkHash4" { defer testing.allocator.free(dst); _ = bulkHash4(y, dst); - for (dst) |got, i| { + for (dst, 0..) |got, i| { var want = hash4(y[i..]); try testing.expectEqual(want, got); } diff --git a/lib/std/compress/deflate/compressor_test.zig b/lib/std/compress/deflate/compressor_test.zig index c51f68236da357a84d39e7e48af284f9d510785f..858da8d8b5ffb1d22129ce07d3ce44e2920e81a2 100644 --- a/lib/std/compress/deflate/compressor_test.zig +++ b/lib/std/compress/deflate/compressor_test.zig @@ -171,7 +171,7 @@ test "deflate/inflate" { var large_data_chunk = try testing.allocator.alloc(u8, 100_000); defer testing.allocator.free(large_data_chunk); // fill with random data - for (large_data_chunk) |_, i| { + for (large_data_chunk, 0..) |_, i| { large_data_chunk[i] = @truncate(u8, i) *% @truncate(u8, i); } try testToFromWithLimit(large_data_chunk, limits); @@ -205,7 +205,7 @@ test "very long sparse chunk" { n -= cur - s.l; cur = s.l; } - for (b[0..n]) |_, i| { + for (b[0..n], 0..) |_, i| { if (s.cur + i >= s.l -| (1 << 16)) { b[i] = 1; } else { @@ -451,7 +451,7 @@ test "inflate reset" { defer compressed_strings[0].deinit(); defer compressed_strings[1].deinit(); - for (strings) |s, i| { + for (strings, 0..) |s, i| { var comp = try compressor( testing.allocator, compressed_strings[i].writer(), @@ -498,7 +498,7 @@ test "inflate reset dictionary" { defer compressed_strings[0].deinit(); defer compressed_strings[1].deinit(); - for (strings) |s, i| { + for (strings, 0..) |s, i| { var comp = try compressor( testing.allocator, compressed_strings[i].writer(), diff --git a/lib/std/compress/deflate/decompressor.zig b/lib/std/compress/deflate/decompressor.zig index baef85cace817485730aeffe059cca62966020af..e5cfbb0f6b751eee6980a0bded465de5a5bfead6 100644 --- a/lib/std/compress/deflate/decompressor.zig +++ b/lib/std/compress/deflate/decompressor.zig @@ -165,7 +165,7 @@ const HuffmanDecoder = struct { } } - for (lengths) |n, li| { + for (lengths, 0..) |n, li| { if (n == 0) { continue; } @@ -213,7 +213,7 @@ const HuffmanDecoder = struct { // Above we've sanity checked that we never overwrote // an existing entry. Here we additionally check that // we filled the tables completely. - for (self.chunks) |chunk, i| { + for (self.chunks, 0..) |chunk, i| { // As an exception, in the degenerate // single-code case, we allow odd // chunks to be missing. diff --git a/lib/std/compress/deflate/deflate_fast.zig b/lib/std/compress/deflate/deflate_fast.zig index 12d3e4203abb5e7f186ada0a32b1f58e3464e23e..2009af261185692384ddc055c7b1dc2b21d2500c 100644 --- a/lib/std/compress/deflate/deflate_fast.zig +++ b/lib/std/compress/deflate/deflate_fast.zig @@ -264,7 +264,7 @@ pub const DeflateFast = struct { var a = src[@intCast(usize, s)..@intCast(usize, s1)]; b = b[0..a.len]; // Extend the match to be as long as possible. - for (a) |_, i| { + for (a, 0..) |_, i| { if (a[i] != b[i]) { return @intCast(i32, i); } @@ -285,7 +285,7 @@ pub const DeflateFast = struct { b = b[0..a.len]; } a = a[0..b.len]; - for (b) |_, i| { + for (b, 0..) |_, i| { if (a[i] != b[i]) { return @intCast(i32, i); } @@ -301,7 +301,7 @@ pub const DeflateFast = struct { // Continue looking for more matches in the current block. a = src[@intCast(usize, s + n)..@intCast(usize, s1)]; b = src[0..a.len]; - for (a) |_, i| { + for (a, 0..) |_, i| { if (a[i] != b[i]) { return @intCast(i32, i) + n; } @@ -330,7 +330,7 @@ pub const DeflateFast = struct { fn shiftOffsets(self: *Self) void { if (self.prev_len == 0) { // We have no history; just clear the table. - for (self.table) |_, i| { + for (self.table, 0..) |_, i| { self.table[i] = TableEntry{ .val = 0, .offset = 0 }; } self.cur = max_match_offset + 1; @@ -338,7 +338,7 @@ pub const DeflateFast = struct { } // Shift down everything in the table that isn't already too far away. - for (self.table) |_, i| { + for (self.table, 0..) |_, i| { var v = self.table[i].offset - self.cur + max_match_offset + 1; if (v < 0) { // We want to reset self.cur to max_match_offset + 1, so we need to shift diff --git a/lib/std/compress/deflate/deflate_fast_test.zig b/lib/std/compress/deflate/deflate_fast_test.zig index 9f7b639cba8434332264aedcdf1de21a9e8d8952..f8efa80630e17730ce847419dc47565867c3db07 100644 --- a/lib/std/compress/deflate/deflate_fast_test.zig +++ b/lib/std/compress/deflate/deflate_fast_test.zig @@ -18,7 +18,7 @@ test "best speed" { var abcabc = try testing.allocator.alloc(u8, 131_072); defer testing.allocator.free(abcabc); - for (abcabc) |_, i| { + for (abcabc, 0..) |_, i| { abcabc[i] = @intCast(u8, i % 128); } diff --git a/lib/std/compress/deflate/dict_decoder.zig b/lib/std/compress/deflate/dict_decoder.zig index e2a185dc39c301b54f01dc65a00375ae34a10cbc..bf2157282726fc6d18d5b668841e9bd6a85b3dd6 100644 --- a/lib/std/compress/deflate/dict_decoder.zig +++ b/lib/std/compress/deflate/dict_decoder.zig @@ -378,7 +378,7 @@ test "dictionary decoder" { _ = try want.write("."); var str = poem; - for (poem_refs) |ref, i| { + for (poem_refs, 0..) |ref, i| { _ = i; if (ref.dist == 0) { try util.writeString(&dd, got, str[0..ref.length]); diff --git a/lib/std/compress/deflate/huffman_bit_writer.zig b/lib/std/compress/deflate/huffman_bit_writer.zig index fc5727ca635adbf07a003e44bc8878bcdaa1235f..a42aae467b8473f0c16499a1efda8d47f173ef59 100644 --- a/lib/std/compress/deflate/huffman_bit_writer.zig +++ b/lib/std/compress/deflate/huffman_bit_writer.zig @@ -197,7 +197,7 @@ pub fn HuffmanBitWriter(comptime WriterType: type) type { lit_enc: *hm_code.HuffmanEncoder, off_enc: *hm_code.HuffmanEncoder, ) void { - for (self.codegen_freq) |_, i| { + for (self.codegen_freq, 0..) |_, i| { self.codegen_freq[i] = 0; } @@ -208,12 +208,12 @@ pub fn HuffmanBitWriter(comptime WriterType: type) type { var codegen = self.codegen; // cache // Copy the concatenated code sizes to codegen. Put a marker at the end. var cgnl = codegen[0..num_literals]; - for (cgnl) |_, i| { + for (cgnl, 0..) |_, i| { cgnl[i] = @intCast(u8, lit_enc.codes[i].len); } cgnl = codegen[num_literals .. num_literals + num_offsets]; - for (cgnl) |_, i| { + for (cgnl, 0..) |_, i| { cgnl[i] = @intCast(u8, off_enc.codes[i].len); } codegen[num_literals + num_offsets] = bad_code; @@ -600,10 +600,10 @@ pub fn HuffmanBitWriter(comptime WriterType: type) type { var num_literals: u32 = 0; var num_offsets: u32 = 0; - for (self.literal_freq) |_, i| { + for (self.literal_freq, 0..) |_, i| { self.literal_freq[i] = 0; } - for (self.offset_freq) |_, i| { + for (self.offset_freq, 0..) |_, i| { self.offset_freq[i] = 0; } @@ -691,7 +691,7 @@ pub fn HuffmanBitWriter(comptime WriterType: type) type { } // Clear histogram - for (self.literal_freq) |_, i| { + for (self.literal_freq, 0..) |_, i| { self.literal_freq[i] = 0; } diff --git a/lib/std/compress/deflate/huffman_code.zig b/lib/std/compress/deflate/huffman_code.zig index 79598e59ae90fc97eea339432a427f6edcd2c1b0..e911e5219ba47b5004f8f06c85fc32837a29cabb 100644 --- a/lib/std/compress/deflate/huffman_code.zig +++ b/lib/std/compress/deflate/huffman_code.zig @@ -71,7 +71,7 @@ pub const HuffmanEncoder = struct { // Number of non-zero literals var count: u32 = 0; // Set list to be the set of all non-zero literals and their frequencies - for (freq) |f, i| { + for (freq, 0..) |f, i| { if (f != 0) { list[count] = LiteralNode{ .literal = @intCast(u16, i), .freq = f }; count += 1; @@ -86,7 +86,7 @@ pub const HuffmanEncoder = struct { if (count <= 2) { // Handle the small cases here, because they are awkward for the general case code. With // two or fewer literals, everything has bit length 1. - for (list) |node, i| { + for (list, 0..) |node, i| { // "list" is in order of increasing literal value. self.codes[node.literal].set(@intCast(u16, i), 1); } @@ -103,7 +103,7 @@ pub const HuffmanEncoder = struct { pub fn bitLength(self: *HuffmanEncoder, freq: []u16) u32 { var total: u32 = 0; - for (freq) |f, i| { + for (freq, 0..) |f, i| { if (f != 0) { total += @intCast(u32, f) * @intCast(u32, self.codes[i].len); } @@ -258,7 +258,7 @@ pub const HuffmanEncoder = struct { var code = @as(u16, 0); var list = list_arg; - for (bit_count) |bits, n| { + for (bit_count, 0..) |bits, n| { code <<= 1; if (n == 0 or bits == 0) { continue; @@ -340,7 +340,7 @@ pub fn generateFixedLiteralEncoding(allocator: Allocator) !HuffmanEncoder { pub fn generateFixedOffsetEncoding(allocator: Allocator) !HuffmanEncoder { var h = try newHuffmanEncoder(allocator, 30); var codes = h.codes; - for (codes) |_, ch| { + for (codes, 0..) |_, ch| { codes[ch] = HuffCode{ .code = bu.bitReverse(u16, @intCast(u16, ch), 5), .len = 5 }; } return h; diff --git a/lib/std/compress/lzma/decode.zig b/lib/std/compress/lzma/decode.zig index 6c9a3ae862b68c1972aebed26276552bc07689a8..dc220d8e87d46f1fc50481d82734fe8605e074fa 100644 --- a/lib/std/compress/lzma/decode.zig +++ b/lib/std/compress/lzma/decode.zig @@ -143,7 +143,7 @@ pub const DecoderState = struct { } self.lzma_props = new_props; - for (self.pos_slot_decoder) |*t| t.reset(); + for (&self.pos_slot_decoder) |*t| t.reset(); self.align_decoder.reset(); self.pos_decoders = .{0x400} ** 115; self.is_match = .{0x400} ** 192; diff --git a/lib/std/compress/lzma/decode/rangecoder.zig b/lib/std/compress/lzma/decode/rangecoder.zig index 6b6ca15997183a7412e3062c3ef7533927691fe9..5df10be0606e10883ba36285b622a3d378507719 100644 --- a/lib/std/compress/lzma/decode/rangecoder.zig +++ b/lib/std/compress/lzma/decode/rangecoder.zig @@ -174,8 +174,8 @@ pub const LenDecoder = struct { pub fn reset(self: *LenDecoder) void { self.choice = 0x400; self.choice2 = 0x400; - for (self.low_coder) |*t| t.reset(); - for (self.mid_coder) |*t| t.reset(); + for (&self.low_coder) |*t| t.reset(); + for (&self.mid_coder) |*t| t.reset(); self.high_coder.reset(); } }; diff --git a/lib/std/comptime_string_map.zig b/lib/std/comptime_string_map.zig index f7736413d531f8620fc1cdc7c32e839bc882f692..267259225c71693ea666f357753999cac102610b 100644 --- a/lib/std/comptime_string_map.zig +++ b/lib/std/comptime_string_map.zig @@ -21,7 +21,7 @@ pub fn ComptimeStringMap(comptime V: type, comptime kvs_list: anytype) type { return a.key.len < b.key.len; } }).lenAsc; - for (kvs_list) |kv, i| { + for (kvs_list, 0..) |kv, i| { if (V != void) { sorted_kvs[i] = .{ .key = kv.@"0", .value = kv.@"1" }; } else { diff --git a/lib/std/crypto/25519/ed25519.zig b/lib/std/crypto/25519/ed25519.zig index 7d136fc12df4c4da9d54fbb2a8ae4ed03c8dce64..5d85fd52248b987e102f5e30e3dfd4248541abbe 100644 --- a/lib/std/crypto/25519/ed25519.zig +++ b/lib/std/crypto/25519/ed25519.zig @@ -344,7 +344,7 @@ pub const Ed25519 = struct { var a_batch: [count]Curve = undefined; var expected_r_batch: [count]Curve = undefined; - for (signature_batch) |signature, i| { + for (signature_batch, 0..) |signature, i| { const r = signature.sig.r; const s = signature.sig.s; try Curve.scalar.rejectNonCanonical(s); @@ -360,7 +360,7 @@ pub const Ed25519 = struct { } var hram_batch: [count]Curve.scalar.CompressedScalar = undefined; - for (signature_batch) |signature, i| { + for (signature_batch, 0..) |signature, i| { var h = Sha512.init(.{}); h.update(&r_batch[i]); h.update(&signature.public_key.bytes); @@ -371,20 +371,20 @@ pub const Ed25519 = struct { } var z_batch: [count]Curve.scalar.CompressedScalar = undefined; - for (z_batch) |*z| { + for (&z_batch) |*z| { crypto.random.bytes(z[0..16]); mem.set(u8, z[16..], 0); } var zs_sum = Curve.scalar.zero; - for (z_batch) |z, i| { + for (z_batch, 0..) |z, i| { const zs = Curve.scalar.mul(z, s_batch[i]); zs_sum = Curve.scalar.add(zs_sum, zs); } zs_sum = Curve.scalar.mul8(zs_sum); var zhs: [count]Curve.scalar.CompressedScalar = undefined; - for (z_batch) |z, i| { + for (z_batch, 0..) |z, i| { zhs[i] = Curve.scalar.mul(z, hram_batch[i]); } diff --git a/lib/std/crypto/25519/edwards25519.zig b/lib/std/crypto/25519/edwards25519.zig index 840f4b67d586c1cefd858f407063b8fb40128cec..df4f8467f99b39d57d89abe5fa62c451702c5f0c 100644 --- a/lib/std/crypto/25519/edwards25519.zig +++ b/lib/std/crypto/25519/edwards25519.zig @@ -161,7 +161,7 @@ pub const Edwards25519 = struct { fn slide(s: [32]u8) [2 * 32]i8 { const reduced = if ((s[s.len - 1] & 0x80) == 0) s else scalar.reduce(s); var e: [2 * 32]i8 = undefined; - for (reduced) |x, i| { + for (reduced, 0..) |x, i| { e[i * 2 + 0] = @as(i8, @truncate(u4, x)); e[i * 2 + 1] = @as(i8, @truncate(u4, x >> 4)); } @@ -308,7 +308,7 @@ pub const Edwards25519 = struct { var bpc: [9]Edwards25519 = undefined; mem.copy(Edwards25519, bpc[0..], basePointPc[0..bpc.len]); - for (ps) |p, i| { + for (ps, 0..) |p, i| { if (p.is_base) { pcs[i] = bpc; } else { @@ -317,13 +317,13 @@ pub const Edwards25519 = struct { } } var es: [count][2 * 32]i8 = undefined; - for (ss) |s, i| { + for (ss, 0..) |s, i| { es[i] = slide(s); } var q = Edwards25519.identityElement; var pos: usize = 2 * 32 - 1; while (true) : (pos -= 1) { - for (es) |e, i| { + for (es, 0..) |e, i| { const slot = e[pos]; if (slot > 0) { q = q.add(pcs[i][@intCast(usize, slot)]); diff --git a/lib/std/crypto/Certificate.zig b/lib/std/crypto/Certificate.zig index 3b491fa32e734c473abdedc2783592568e00ce4e..22513f9efe48afdc7ad88b35f8217f9e4f53232a 100644 --- a/lib/std/crypto/Certificate.zig +++ b/lib/std/crypto/Certificate.zig @@ -1092,7 +1092,7 @@ pub const rsa = struct { if (exponent_elem.identifier.tag != .integer) return error.CertificateFieldHasWrongDataType; // Skip over meaningless zeroes in the modulus. const modulus_raw = pub_key[modulus_elem.slice.start..modulus_elem.slice.end]; - const modulus_offset = for (modulus_raw) |byte, i| { + const modulus_offset = for (modulus_raw, 0..) |byte, i| { if (byte != 0) break i; } else modulus_raw.len; return .{ diff --git a/lib/std/crypto/aegis.zig b/lib/std/crypto/aegis.zig index da09aca351d89d2b6ab2394d74bb045ccd37aebc..4a030d7870edaca710d8659caf6b157d9992ce07 100644 --- a/lib/std/crypto/aegis.zig +++ b/lib/std/crypto/aegis.zig @@ -170,7 +170,7 @@ pub const Aegis128L = struct { } const computed_tag = state.mac(ad.len, m.len); var acc: u8 = 0; - for (computed_tag) |_, j| { + for (computed_tag, 0..) |_, j| { acc |= (computed_tag[j] ^ tag[j]); } if (acc != 0) { @@ -339,7 +339,7 @@ pub const Aegis256 = struct { } const computed_tag = state.mac(ad.len, m.len); var acc: u8 = 0; - for (computed_tag) |_, j| { + for (computed_tag, 0..) |_, j| { acc |= (computed_tag[j] ^ tag[j]); } if (acc != 0) { @@ -562,7 +562,7 @@ test "Aegis256 test vector 3" { test "Aegis MAC" { const key = [_]u8{0x00} ** Aegis128LMac.key_length; var msg: [64]u8 = undefined; - for (msg) |*m, i| { + for (&msg, 0..) |*m, i| { m.* = @truncate(u8, i); } const st_init = Aegis128LMac.init(&key); diff --git a/lib/std/crypto/aes.zig b/lib/std/crypto/aes.zig index c969dfd0f70e9e04bdc75c5db0ffddc941c1aef8..e2efa5bb900b9664ff265c1939362a9f14a6e1dc 100644 --- a/lib/std/crypto/aes.zig +++ b/lib/std/crypto/aes.zig @@ -115,11 +115,11 @@ test "expand 128-bit key" { const dec = Aes128.initDec(key); var exp: [16]u8 = undefined; - for (enc.key_schedule.round_keys) |round_key, i| { + for (enc.key_schedule.round_keys, 0..) |round_key, i| { _ = try std.fmt.hexToBytes(&exp, exp_enc[i]); try testing.expectEqualSlices(u8, &exp, &round_key.toBytes()); } - for (dec.key_schedule.round_keys) |round_key, i| { + for (dec.key_schedule.round_keys, 0..) |round_key, i| { _ = try std.fmt.hexToBytes(&exp, exp_dec[i]); try testing.expectEqualSlices(u8, &exp, &round_key.toBytes()); } @@ -154,11 +154,11 @@ test "expand 256-bit key" { const dec = Aes256.initDec(key); var exp: [16]u8 = undefined; - for (enc.key_schedule.round_keys) |round_key, i| { + for (enc.key_schedule.round_keys, 0..) |round_key, i| { _ = try std.fmt.hexToBytes(&exp, exp_enc[i]); try testing.expectEqualSlices(u8, &exp, &round_key.toBytes()); } - for (dec.key_schedule.round_keys) |round_key, i| { + for (dec.key_schedule.round_keys, 0..) |round_key, i| { _ = try std.fmt.hexToBytes(&exp, exp_dec[i]); try testing.expectEqualSlices(u8, &exp, &round_key.toBytes()); } diff --git a/lib/std/crypto/aes/aesni.zig b/lib/std/crypto/aes/aesni.zig index c513e714789d4cc9adf3a898be18259e57b97d4a..4b5f3d445ff58531d45b720976310ccaedfc8eac 100644 --- a/lib/std/crypto/aes/aesni.zig +++ b/lib/std/crypto/aes/aesni.zig @@ -200,7 +200,7 @@ fn KeySchedule(comptime Aes: type) type { fn expand128(t1: *Block) Self { var round_keys: [11]Block = undefined; const rcs = [_]u8{ 1, 2, 4, 8, 16, 32, 64, 128, 27, 54 }; - inline for (rcs) |rc, round| { + inline for (rcs, 0..) |rc, round| { round_keys[round] = t1.*; t1.repr = drc(false, rc, t1.repr, t1.repr); } @@ -212,7 +212,7 @@ fn KeySchedule(comptime Aes: type) type { var round_keys: [15]Block = undefined; const rcs = [_]u8{ 1, 2, 4, 8, 16, 32 }; round_keys[0] = t1.*; - inline for (rcs) |rc, round| { + inline for (rcs, 0..) |rc, round| { round_keys[round * 2 + 1] = t2.*; t1.repr = drc(false, rc, t2.repr, t1.repr); round_keys[round * 2 + 2] = t1.*; diff --git a/lib/std/crypto/aes/armcrypto.zig b/lib/std/crypto/aes/armcrypto.zig index 52b7433d1177ab325a9c3e22f5babfecf71b1c35..3f4faf1b14110d2ca5e154e2d5a794d74e2dfe81 100644 --- a/lib/std/crypto/aes/armcrypto.zig +++ b/lib/std/crypto/aes/armcrypto.zig @@ -250,7 +250,7 @@ fn KeySchedule(comptime Aes: type) type { fn expand128(t1: *Block) Self { var round_keys: [11]Block = undefined; const rcs = [_]u8{ 1, 2, 4, 8, 16, 32, 64, 128, 27, 54 }; - inline for (rcs) |rc, round| { + inline for (rcs, 0..) |rc, round| { round_keys[round] = t1.*; t1.repr = drc128(rc, t1.repr); } @@ -262,7 +262,7 @@ fn KeySchedule(comptime Aes: type) type { var round_keys: [15]Block = undefined; const rcs = [_]u8{ 1, 2, 4, 8, 16, 32 }; round_keys[0] = t1.*; - inline for (rcs) |rc, round| { + inline for (rcs, 0..) |rc, round| { round_keys[round * 2 + 1] = t2.*; t1.repr = drc256(false, rc, t2.repr, t1.repr); round_keys[round * 2 + 2] = t1.*; diff --git a/lib/std/crypto/aes/soft.zig b/lib/std/crypto/aes/soft.zig index 57d433c1157cca5c4f51cf27714c3da9f28e03d8..b57f1746dc88ef9dcdb08a1c1f5ea68d443e09be 100644 --- a/lib/std/crypto/aes/soft.zig +++ b/lib/std/crypto/aes/soft.zig @@ -471,7 +471,7 @@ fn generateSbox(invert: bool) [256]u8 { fn generateTable(invert: bool) [4][256]u32 { var table: [4][256]u32 = undefined; - for (generateSbox(invert)) |value, index| { + for (generateSbox(invert), 0..) |value, index| { table[0][index] = mul(value, if (invert) 0xb else 0x3); table[0][index] |= math.shl(u32, mul(value, if (invert) 0xd else 0x1), 8); table[0][index] |= math.shl(u32, mul(value, if (invert) 0x9 else 0x1), 16); diff --git a/lib/std/crypto/aes_gcm.zig b/lib/std/crypto/aes_gcm.zig index 6eadcdee2f670cd38c626674d2d3a93e51ce3943..b9b2362d9f189dc4b6605a4aeb79ed8cc8763d0c 100644 --- a/lib/std/crypto/aes_gcm.zig +++ b/lib/std/crypto/aes_gcm.zig @@ -50,7 +50,7 @@ fn AesGcm(comptime Aes: anytype) type { mem.writeIntBig(u64, final_block[8..16], m.len * 8); mac.update(&final_block); mac.final(tag); - for (t) |x, i| { + for (t, 0..) |x, i| { tag[i] ^= x; } } @@ -82,12 +82,12 @@ fn AesGcm(comptime Aes: anytype) type { mac.update(&final_block); var computed_tag: [Ghash.mac_length]u8 = undefined; mac.final(&computed_tag); - for (t) |x, i| { + for (t, 0..) |x, i| { computed_tag[i] ^= x; } var acc: u8 = 0; - for (computed_tag) |_, p| { + for (computed_tag, 0..) |_, p| { acc |= (computed_tag[p] ^ tag[p]); } if (acc != 0) { diff --git a/lib/std/crypto/aes_ocb.zig b/lib/std/crypto/aes_ocb.zig index 68f5bc4a9a047d04c4d47dbfdf9e6919c7c593bb..a5d1001ed5f170893b9c59edcaa8bd79243ca00d 100644 --- a/lib/std/crypto/aes_ocb.zig +++ b/lib/std/crypto/aes_ocb.zig @@ -155,7 +155,7 @@ fn AesOcb(comptime Aes: anytype) type { xorWith(&offset, lx.star); var pad = offset; aes_enc_ctx.encrypt(&pad, &pad); - for (m[i * 16 ..]) |x, j| { + for (m[i * 16 ..], 0..) |x, j| { c[i * 16 + j] = pad[j] ^ x; } var e = [_]u8{0} ** 16; @@ -220,7 +220,7 @@ fn AesOcb(comptime Aes: anytype) type { xorWith(&offset, lx.star); var pad = offset; aes_enc_ctx.encrypt(&pad, &pad); - for (c[i * 16 ..]) |x, j| { + for (c[i * 16 ..], 0..) |x, j| { m[i * 16 + j] = pad[j] ^ x; } var e = [_]u8{0} ** 16; @@ -242,14 +242,14 @@ fn AesOcb(comptime Aes: anytype) type { inline fn xorBlocks(x: Block, y: Block) Block { var z: Block = x; - for (z) |*v, i| { + for (&z, 0..) |*v, i| { v.* = x[i] ^ y[i]; } return z; } inline fn xorWith(x: *Block, y: Block) void { - for (x) |*v, i| { + for (x, 0..) |*v, i| { v.* ^= y[i]; } } diff --git a/lib/std/crypto/argon2.zig b/lib/std/crypto/argon2.zig index 7269470d5fc06758eb93449ffb1abc865ffbeb1b..a95e75e5380a8cc26fa655428b8dd1e8c8db31f9 100644 --- a/lib/std/crypto/argon2.zig +++ b/lib/std/crypto/argon2.zig @@ -188,13 +188,13 @@ fn initBlocks( mem.writeIntLittle(u32, h0[Blake2b512.digest_length..][0..4], 0); blake2bLong(&block0, h0); - for (blocks.items[j + 0]) |*v, i| { + for (&blocks.items[j + 0], 0..) |*v, i| { v.* = mem.readIntLittle(u64, block0[i * 8 ..][0..8]); } mem.writeIntLittle(u32, h0[Blake2b512.digest_length..][0..4], 1); blake2bLong(&block0, h0); - for (blocks.items[j + 1]) |*v, i| { + for (&blocks.items[j + 1], 0..) |*v, i| { v.* = mem.readIntLittle(u64, block0[i * 8 ..][0..8]); } } @@ -352,7 +352,7 @@ fn processBlockGeneric( comptime xor: bool, ) void { var t: [block_length]u64 = undefined; - for (t) |*v, i| { + for (&t, 0..) |*v, i| { v.* = in1[i] ^ in2[i]; } var i: usize = 0; @@ -375,11 +375,11 @@ fn processBlockGeneric( } } if (xor) { - for (t) |v, j| { + for (t, 0..) |v, j| { out[j] ^= in1[j] ^ in2[j] ^ v; } } else { - for (t) |v, j| { + for (t, 0..) |v, j| { out[j] = in1[j] ^ in2[j] ^ v; } } @@ -428,12 +428,12 @@ fn finalize( const lanes = memory / threads; var lane: u24 = 0; while (lane < threads - 1) : (lane += 1) { - for (blocks.items[(lane * lanes) + lanes - 1]) |v, i| { + for (blocks.items[(lane * lanes) + lanes - 1], 0..) |v, i| { blocks.items[memory - 1][i] ^= v; } } var block: [1024]u8 = undefined; - for (blocks.items[memory - 1]) |v, i| { + for (blocks.items[memory - 1], 0..) |v, i| { mem.writeIntLittle(u64, block[i * 8 ..][0..8], v); } blake2bLong(out, &block); diff --git a/lib/std/crypto/ascon.zig b/lib/std/crypto/ascon.zig index f692bdbe7164ed12e7644c7d163b7c56c8b04396..6de003d43698d0c816c8d9280342c71a0be2b286 100644 --- a/lib/std/crypto/ascon.zig +++ b/lib/std/crypto/ascon.zig @@ -74,7 +74,7 @@ pub fn State(comptime endian: builtin.Endian) type { /// Byte-swap the entire state if the architecture doesn't match the required endianness. pub fn endianSwap(self: *Self) void { - for (self.st) |*w| { + for (&self.st) |*w| { w.* = mem.toNative(u64, w.*, endian); } } diff --git a/lib/std/crypto/bcrypt.zig b/lib/std/crypto/bcrypt.zig index e5c688557f51a6d595db86ef180ae8b7d6d4c1df..2191ab0d9e62af7eac21dfa03723058eb9e6d3fb 100644 --- a/lib/std/crypto/bcrypt.zig +++ b/lib/std/crypto/bcrypt.zig @@ -437,7 +437,7 @@ pub fn bcrypt( } var ct: [ct_length]u8 = undefined; - for (cdata) |c, i| { + for (cdata, 0..) |c, i| { mem.writeIntBig(u32, ct[i * 4 ..][0..4], c); } return ct[0..dk_length].*; @@ -505,7 +505,7 @@ const pbkdf_prf = struct { // copy out var out: [32]u8 = undefined; - for (cdata) |v, i| { + for (cdata, 0..) |v, i| { std.mem.writeIntLittle(u32, out[4 * i ..][0..4], v); } diff --git a/lib/std/crypto/blake2.zig b/lib/std/crypto/blake2.zig index 80557eb2554a88560bfaf3fb00d474b89dab3411..85c26ce5991fe9423f4dd413abbe8f9c73a2223e 100644 --- a/lib/std/crypto/blake2.zig +++ b/lib/std/crypto/blake2.zig @@ -133,7 +133,7 @@ pub fn Blake2s(comptime out_bits: usize) type { mem.set(u8, d.buf[d.buf_len..], 0); d.t += d.buf_len; d.round(d.buf[0..], true); - for (d.h) |*x| x.* = mem.nativeToLittle(u32, x.*); + for (&d.h) |*x| x.* = mem.nativeToLittle(u32, x.*); mem.copy(u8, out[0..], @ptrCast(*[digest_length]u8, &d.h)); } @@ -141,7 +141,7 @@ pub fn Blake2s(comptime out_bits: usize) type { var m: [16]u32 = undefined; var v: [16]u32 = undefined; - for (m) |*r, i| { + for (&m, 0..) |*r, i| { r.* = mem.readIntLittle(u32, b[4 * i ..][0..4]); } @@ -180,7 +180,7 @@ pub fn Blake2s(comptime out_bits: usize) type { } } - for (d.h) |*r, i| { + for (&d.h, 0..) |*r, i| { r.* ^= v[i] ^ v[i + 8]; } } @@ -568,7 +568,7 @@ pub fn Blake2b(comptime out_bits: usize) type { mem.set(u8, d.buf[d.buf_len..], 0); d.t += d.buf_len; d.round(d.buf[0..], true); - for (d.h) |*x| x.* = mem.nativeToLittle(u64, x.*); + for (&d.h) |*x| x.* = mem.nativeToLittle(u64, x.*); mem.copy(u8, out[0..], @ptrCast(*[digest_length]u8, &d.h)); } @@ -576,7 +576,7 @@ pub fn Blake2b(comptime out_bits: usize) type { var m: [16]u64 = undefined; var v: [16]u64 = undefined; - for (m) |*r, i| { + for (&m, 0..) |*r, i| { r.* = mem.readIntLittle(u64, b[8 * i ..][0..8]); } @@ -615,7 +615,7 @@ pub fn Blake2b(comptime out_bits: usize) type { } } - for (d.h) |*r, i| { + for (&d.h, 0..) |*r, i| { r.* ^= v[i] ^ v[i + 8]; } } diff --git a/lib/std/crypto/blake3.zig b/lib/std/crypto/blake3.zig index 0334abfdb07fd75f27641c8dfe988b905deaecea..5b8e21d9227fc6493c3c624f1b0ad771d346c818 100644 --- a/lib/std/crypto/blake3.zig +++ b/lib/std/crypto/blake3.zig @@ -192,7 +192,7 @@ const CompressGeneric = struct { for (MSG_SCHEDULE) |schedule| { round(&state, block_words, schedule); } - for (chaining_value) |_, i| { + for (chaining_value, 0..) |_, i| { state[i] ^= state[i + 8]; state[i + 8] ^= chaining_value[i]; } @@ -211,7 +211,7 @@ fn first8Words(words: [16]u32) [8]u32 { fn wordsFromLittleEndianBytes(comptime count: usize, bytes: [count * 4]u8) [count]u32 { var words: [count]u32 = undefined; - for (&words) |*word, i| { + for (&words, 0..) |*word, i| { word.* = mem.readIntSliceLittle(u32, bytes[4 * i ..]); } return words; @@ -658,7 +658,7 @@ fn testBlake3(hasher: *Blake3, input_len: usize, expected_hex: [262]u8) !void { // Setup input pattern var input_pattern: [251]u8 = undefined; - for (input_pattern) |*e, i| e.* = @truncate(u8, i); + for (&input_pattern, 0..) |*e, i| e.* = @truncate(u8, i); // Write repeating input pattern to hasher var input_counter = input_len; diff --git a/lib/std/crypto/chacha20.zig b/lib/std/crypto/chacha20.zig index 2a43f4b94c8d3f6f58e868d8783f731eee5c35c7..883ee51a62c12edc7f1d2cb5b5049af7ce693e17 100644 --- a/lib/std/crypto/chacha20.zig +++ b/lib/std/crypto/chacha20.zig @@ -197,7 +197,7 @@ fn ChaChaVecImpl(comptime rounds_nb: usize) type { fn hchacha20(input: [16]u8, key: [32]u8) [32]u8 { var c: [4]u32 = undefined; - for (c) |_, i| { + for (c, 0..) |_, i| { c[i] = mem.readIntLittle(u32, input[4 * i ..][0..4]); } const ctx = initContext(keyToWords(key), c); @@ -338,7 +338,7 @@ fn ChaChaNonVecImpl(comptime rounds_nb: usize) type { fn hchacha20(input: [16]u8, key: [32]u8) [32]u8 { var c: [4]u32 = undefined; - for (c) |_, i| { + for (c, 0..) |_, i| { c[i] = mem.readIntLittle(u32, input[4 * i ..][0..4]); } const ctx = initContext(keyToWords(key), c); @@ -543,7 +543,7 @@ fn ChaChaPoly1305(comptime rounds_nb: usize) type { mac.final(computedTag[0..]); var acc: u8 = 0; - for (computedTag) |_, i| { + for (computedTag, 0..) |_, i| { acc |= computedTag[i] ^ tag[i]; } if (acc != 0) { diff --git a/lib/std/crypto/cmac.zig b/lib/std/crypto/cmac.zig index 911eac79020d44ce2bf756b3b61b69ed9f024341..fd0046185876bdf1234dba63fbbec4fb7e78de95 100644 --- a/lib/std/crypto/cmac.zig +++ b/lib/std/crypto/cmac.zig @@ -46,19 +46,19 @@ pub fn Cmac(comptime BlockCipher: type) type { const left = block_length - self.pos; var m = msg; if (m.len > left) { - for (self.buf[self.pos..]) |*b, i| b.* ^= m[i]; + for (self.buf[self.pos..], 0..) |*b, i| b.* ^= m[i]; m = m[left..]; self.cipher_ctx.encrypt(&self.buf, &self.buf); self.pos = 0; } while (m.len > block_length) { - for (self.buf[0..block_length]) |*b, i| b.* ^= m[i]; + for (self.buf[0..block_length], 0..) |*b, i| b.* ^= m[i]; m = m[block_length..]; self.cipher_ctx.encrypt(&self.buf, &self.buf); self.pos = 0; } if (m.len > 0) { - for (self.buf[self.pos..][0..m.len]) |*b, i| b.* ^= m[i]; + for (self.buf[self.pos..][0..m.len], 0..) |*b, i| b.* ^= m[i]; self.pos += m.len; } } @@ -69,7 +69,7 @@ pub fn Cmac(comptime BlockCipher: type) type { mac = self.k2; mac[self.pos] ^= 0x80; } - for (mac) |*b, i| b.* ^= self.buf[i]; + for (&mac, 0..) |*b, i| b.* ^= self.buf[i]; self.cipher_ctx.encrypt(out, &mac); } diff --git a/lib/std/crypto/ghash_polyval.zig b/lib/std/crypto/ghash_polyval.zig index bb7318325b3359012e13c8d80d18fb9073f44754..908bace73ec211fe91efad84d08c25dc16ab7652 100644 --- a/lib/std/crypto/ghash_polyval.zig +++ b/lib/std/crypto/ghash_polyval.zig @@ -320,7 +320,7 @@ fn Hash(comptime endian: std.builtin.Endian, comptime shift_key: bool) type { if (st.leftover > 0) { const want = math.min(block_length - st.leftover, mb.len); const mc = mb[0..want]; - for (mc) |x, i| { + for (mc, 0..) |x, i| { st.buf[st.leftover + i] = x; } mb = mb[want..]; @@ -337,7 +337,7 @@ fn Hash(comptime endian: std.builtin.Endian, comptime shift_key: bool) type { mb = mb[want..]; } if (mb.len > 0) { - for (mb) |x, i| { + for (mb, 0..) |x, i| { st.buf[st.leftover + i] = x; } st.leftover += mb.len; diff --git a/lib/std/crypto/gimli.zig b/lib/std/crypto/gimli.zig index 4952937697df66c3dd80560ffa364df89004fbf6..9443b97be79c636bb5cdba4b2905651ab4c6339c 100644 --- a/lib/std/crypto/gimli.zig +++ b/lib/std/crypto/gimli.zig @@ -45,7 +45,7 @@ pub const State = struct { } inline fn endianSwap(self: *Self) void { - for (self.data) |*w| { + for (&self.data) |*w| { w.* = mem.littleToNative(u32, w.*); } } @@ -228,7 +228,7 @@ pub const Hash = struct { while (in.len > 0) { const left = State.RATE - self.buf_off; const ps = math.min(in.len, left); - for (buf[self.buf_off .. self.buf_off + ps]) |*p, i| { + for (buf[self.buf_off .. self.buf_off + ps], 0..) |*p, i| { p.* ^= in[i]; } self.buf_off += ps; @@ -329,12 +329,12 @@ pub const Aead = struct { // exactly one final non-full block, in the same way as Gimli-Hash. var data = ad; while (data.len >= State.RATE) : (data = data[State.RATE..]) { - for (buf[0..State.RATE]) |*p, i| { + for (buf[0..State.RATE], 0..) |*p, i| { p.* ^= data[i]; } state.permute(); } - for (buf[0..data.len]) |*p, i| { + for (buf[0..data.len], 0..) |*p, i| { p.* ^= data[i]; } @@ -371,13 +371,13 @@ pub const Aead = struct { in = in[State.RATE..]; out = out[State.RATE..]; }) { - for (in[0..State.RATE]) |v, i| { + for (in[0..State.RATE], 0..) |v, i| { buf[i] ^= v; } mem.copy(u8, out[0..State.RATE], buf[0..State.RATE]); state.permute(); } - for (in[0..]) |v, i| { + for (in[0..], 0..) |v, i| { buf[i] ^= v; out[i] = buf[i]; } @@ -414,13 +414,13 @@ pub const Aead = struct { out = out[State.RATE..]; }) { const d = in[0..State.RATE].*; - for (d) |v, i| { + for (d, 0..) |v, i| { out[i] = buf[i] ^ v; } mem.copy(u8, buf[0..State.RATE], d[0..State.RATE]); state.permute(); } - for (buf[0..in.len]) |*p, i| { + for (buf[0..in.len], 0..) |*p, i| { const d = in[i]; out[i] = p.* ^ d; p.* = d; diff --git a/lib/std/crypto/hmac.zig b/lib/std/crypto/hmac.zig index 5ff37f8112e95048dddfdda36f6407bf2260d054..457cc5ec18969ac368640138b33804506b77e646 100644 --- a/lib/std/crypto/hmac.zig +++ b/lib/std/crypto/hmac.zig @@ -46,11 +46,11 @@ pub fn Hmac(comptime Hash: type) type { mem.copy(u8, scratch[0..], key); } - for (ctx.o_key_pad) |*b, i| { + for (&ctx.o_key_pad, 0..) |*b, i| { b.* = scratch[i] ^ 0x5c; } - for (i_key_pad) |*b, i| { + for (&i_key_pad, 0..) |*b, i| { b.* = scratch[i] ^ 0x36; } diff --git a/lib/std/crypto/md5.zig b/lib/std/crypto/md5.zig index 9306c222ed3dc80aa07417697bcba3574385a830..6276fadb43f4f2710ca28704776c82977fb29493 100644 --- a/lib/std/crypto/md5.zig +++ b/lib/std/crypto/md5.zig @@ -110,7 +110,7 @@ pub const Md5 = struct { d.round(d.buf[0..]); - for (d.s) |s, j| { + for (d.s, 0..) |s, j| { mem.writeIntLittle(u32, out[4 * j ..][0..4], s); } } diff --git a/lib/std/crypto/pbkdf2.zig b/lib/std/crypto/pbkdf2.zig index b8f03bceb717934042dedf2da1b67e611bdb5233..6f9783df722f2706fa050a5484af29475406d5f3 100644 --- a/lib/std/crypto/pbkdf2.zig +++ b/lib/std/crypto/pbkdf2.zig @@ -138,7 +138,7 @@ pub fn pbkdf2(dk: []u8, password: []const u8, salt: []const u8, rounds: u32, com mem.copy(u8, prev_block[0..], new_block[0..]); // F (P, S, c, i) = U_1 \xor U_2 \xor ... \xor U_c - for (dk_block) |_, j| { + for (dk_block, 0..) |_, j| { dk_block[j] ^= new_block[j]; } } diff --git a/lib/std/crypto/pcurves/common.zig b/lib/std/crypto/pcurves/common.zig index 5abc6d348fc657b6c1b0043d81282b43de89b2d1..40f4a728c799113565b798a2c8ec2418f9726753 100644 --- a/lib/std/crypto/pcurves/common.zig +++ b/lib/std/crypto/pcurves/common.zig @@ -65,7 +65,7 @@ pub fn Field(comptime params: FieldParams) type { /// Swap the endianness of an encoded element. pub fn orderSwap(s: [encoded_length]u8) [encoded_length]u8 { var t = s; - for (s) |x, i| t[t.len - 1 - i] = x; + for (s, 0..) |x, i| t[t.len - 1 - i] = x; return t; } diff --git a/lib/std/crypto/pcurves/p256.zig b/lib/std/crypto/pcurves/p256.zig index 5898f83c108aac8a4221ba091a9910f49ec39041..d060abd12b79049a1a44860bf7b77fd833d0f9d1 100644 --- a/lib/std/crypto/pcurves/p256.zig +++ b/lib/std/crypto/pcurves/p256.zig @@ -321,7 +321,7 @@ pub const P256 = struct { fn slide(s: [32]u8) [2 * 32 + 1]i8 { var e: [2 * 32 + 1]i8 = undefined; - for (s) |x, i| { + for (s, 0..) |x, i| { e[i * 2 + 0] = @as(i8, @truncate(u4, x)); e[i * 2 + 1] = @as(i8, @truncate(u4, x >> 4)); } diff --git a/lib/std/crypto/pcurves/p256/scalar.zig b/lib/std/crypto/pcurves/p256/scalar.zig index d3ac2a9b95ccd56fb79406010332160c2423b853..ce019082efd42a4150a9efbc06932834bb7d46d8 100644 --- a/lib/std/crypto/pcurves/p256/scalar.zig +++ b/lib/std/crypto/pcurves/p256/scalar.zig @@ -187,7 +187,7 @@ const ScalarDouble = struct { var s = s_; if (endian == .Big) { - for (s_) |x, i| s[s.len - 1 - i] = x; + for (s_, 0..) |x, i| s[s.len - 1 - i] = x; } var t = ScalarDouble{ .x1 = undefined, .x2 = Fe.zero, .x3 = Fe.zero }; { diff --git a/lib/std/crypto/pcurves/p384.zig b/lib/std/crypto/pcurves/p384.zig index 0694d4f259a3a46c3af7c69859a216a6e9da66fa..8ea787a417df77da665e5621183f43ea82c7be8c 100644 --- a/lib/std/crypto/pcurves/p384.zig +++ b/lib/std/crypto/pcurves/p384.zig @@ -321,7 +321,7 @@ pub const P384 = struct { fn slide(s: [48]u8) [2 * 48 + 1]i8 { var e: [2 * 48 + 1]i8 = undefined; - for (s) |x, i| { + for (s, 0..) |x, i| { e[i * 2 + 0] = @as(i8, @truncate(u4, x)); e[i * 2 + 1] = @as(i8, @truncate(u4, x >> 4)); } diff --git a/lib/std/crypto/pcurves/p384/scalar.zig b/lib/std/crypto/pcurves/p384/scalar.zig index b6db0c83d4ab3b03be9b6979a8c5d677648a4c40..ec71a52efaabe63794f61ddc49a321961dd783bf 100644 --- a/lib/std/crypto/pcurves/p384/scalar.zig +++ b/lib/std/crypto/pcurves/p384/scalar.zig @@ -175,7 +175,7 @@ const ScalarDouble = struct { var s = s_; if (endian == .Big) { - for (s_) |x, i| s[s.len - 1 - i] = x; + for (s_, 0..) |x, i| s[s.len - 1 - i] = x; } var t = ScalarDouble{ .x1 = undefined, .x2 = Fe.zero }; { diff --git a/lib/std/crypto/pcurves/secp256k1.zig b/lib/std/crypto/pcurves/secp256k1.zig index 79698bd7dd386e3d26f453f946586616ca2a8fbc..12bd022b11773aa8c68117d87a0b81e1910febc6 100644 --- a/lib/std/crypto/pcurves/secp256k1.zig +++ b/lib/std/crypto/pcurves/secp256k1.zig @@ -349,7 +349,7 @@ pub const Secp256k1 = struct { fn slide(s: [32]u8) [2 * 32 + 1]i8 { var e: [2 * 32 + 1]i8 = undefined; - for (s) |x, i| { + for (s, 0..) |x, i| { e[i * 2 + 0] = @as(i8, @truncate(u4, x)); e[i * 2 + 1] = @as(i8, @truncate(u4, x >> 4)); } diff --git a/lib/std/crypto/pcurves/secp256k1/scalar.zig b/lib/std/crypto/pcurves/secp256k1/scalar.zig index 2d91f8bc99b63939d293654991927335b14aba90..0b7d6e952de7dc8c1f98c4692e5ec9dc88a722a7 100644 --- a/lib/std/crypto/pcurves/secp256k1/scalar.zig +++ b/lib/std/crypto/pcurves/secp256k1/scalar.zig @@ -187,7 +187,7 @@ const ScalarDouble = struct { var s = s_; if (endian == .Big) { - for (s_) |x, i| s[s.len - 1 - i] = x; + for (s_, 0..) |x, i| s[s.len - 1 - i] = x; } var t = ScalarDouble{ .x1 = undefined, .x2 = Fe.zero, .x3 = Fe.zero }; { diff --git a/lib/std/crypto/poly1305.zig b/lib/std/crypto/poly1305.zig index 4f16f66cd039df5c4107d624578c4f505f0ef9ea..e99cf144d594e32287c2af14baa1fe4aefcfd835 100644 --- a/lib/std/crypto/poly1305.zig +++ b/lib/std/crypto/poly1305.zig @@ -82,7 +82,7 @@ pub const Poly1305 = struct { if (st.leftover > 0) { const want = std.math.min(block_length - st.leftover, mb.len); const mc = mb[0..want]; - for (mc) |x, i| { + for (mc, 0..) |x, i| { st.buf[st.leftover + i] = x; } mb = mb[want..]; @@ -103,7 +103,7 @@ pub const Poly1305 = struct { // store leftover if (mb.len > 0) { - for (mb) |x, i| { + for (mb, 0..) |x, i| { st.buf[st.leftover + i] = x; } st.leftover += mb.len; diff --git a/lib/std/crypto/salsa20.zig b/lib/std/crypto/salsa20.zig index 2027403ee22828000f4c98d99e794f18e77cf2cb..492b8e9988ac805740dd47ccd10a8b45b1863cff 100644 --- a/lib/std/crypto/salsa20.zig +++ b/lib/std/crypto/salsa20.zig @@ -157,7 +157,7 @@ fn SalsaVecImpl(comptime rounds: comptime_int) type { fn hsalsa(input: [16]u8, key: [32]u8) [32]u8 { var c: [4]u32 = undefined; - for (c) |_, i| { + for (c, 0..) |_, i| { c[i] = mem.readIntLittle(u32, input[4 * i ..][0..4]); } const ctx = initContext(keyToWords(key), c); @@ -240,7 +240,7 @@ fn SalsaNonVecImpl(comptime rounds: comptime_int) type { } fn hashToBytes(out: *[64]u8, x: BlockVec) void { - for (x) |w, i| { + for (x, 0..) |w, i| { mem.writeIntLittle(u32, out[i * 4 ..][0..4], w); } } @@ -282,7 +282,7 @@ fn SalsaNonVecImpl(comptime rounds: comptime_int) type { fn hsalsa(input: [16]u8, key: [32]u8) [32]u8 { var c: [4]u32 = undefined; - for (c) |_, i| { + for (c, 0..) |_, i| { c[i] = mem.readIntLittle(u32, input[4 * i ..][0..4]); } const ctx = initContext(keyToWords(key), c); @@ -413,7 +413,7 @@ pub const XSalsa20Poly1305 = struct { var computedTag: [tag_length]u8 = undefined; mac.final(&computedTag); var acc: u8 = 0; - for (computedTag) |_, i| { + for (computedTag, 0..) |_, i| { acc |= computedTag[i] ^ tag[i]; } if (acc != 0) { diff --git a/lib/std/crypto/scrypt.zig b/lib/std/crypto/scrypt.zig index 9b2bf01022aa43fd120bc433ee85d9aadf42402b..dc73d974c7782ba9c4f24ee624e81bd45dad288f 100644 --- a/lib/std/crypto/scrypt.zig +++ b/lib/std/crypto/scrypt.zig @@ -31,7 +31,7 @@ fn blockCopy(dst: []align(16) u32, src: []align(16) const u32, n: usize) void { } fn blockXor(dst: []align(16) u32, src: []align(16) const u32, n: usize) void { - for (src[0 .. n * 16]) |v, i| { + for (src[0 .. n * 16], 0..) |v, i| { dst[i] ^= v; } } @@ -90,7 +90,7 @@ fn smix(b: []align(16) u8, r: u30, n: usize, v: []align(16) u32, xy: []align(16) var x = @alignCast(16, xy[0 .. 32 * r]); var y = @alignCast(16, xy[32 * r ..]); - for (x) |*v1, j| { + for (x, 0..) |*v1, j| { v1.* = mem.readIntSliceLittle(u32, b[4 * j ..]); } @@ -115,7 +115,7 @@ fn smix(b: []align(16) u8, r: u30, n: usize, v: []align(16) u32, xy: []align(16) blockMix(&tmp, y, x, r); } - for (x) |v1, j| { + for (x, 0..) |v1, j| { mem.writeIntLittle(u32, b[4 * j ..][0..4], v1); } } @@ -350,7 +350,7 @@ const crypt_format = struct { fn intDecode(comptime T: type, src: *const [(@bitSizeOf(T) + 5) / 6]u8) !T { var v: T = 0; - for (src) |x, i| { + for (src, 0..) |x, i| { const vi = mem.indexOfScalar(u8, &map64, x) orelse return EncodingError.InvalidEncoding; v |= @intCast(T, vi) << @intCast(math.Log2Int(T), i * 6); } @@ -365,10 +365,10 @@ const crypt_format = struct { } const leftover = src[i * 4 ..]; var v: u24 = 0; - for (leftover) |_, j| { + for (leftover, 0..) |_, j| { v |= @as(u24, try intDecode(u6, leftover[j..][0..1])) << @intCast(u5, j * 6); } - for (dst[i * 3 ..]) |*x, j| { + for (dst[i * 3 ..], 0..) |*x, j| { x.* = @truncate(u8, v >> @intCast(u5, j * 8)); } } @@ -381,7 +381,7 @@ const crypt_format = struct { } const leftover = src[i * 3 ..]; var v: u24 = 0; - for (leftover) |x, j| { + for (leftover, 0..) |x, j| { v |= @as(u24, x) << @intCast(u5, j * 8); } intEncode(dst[i * 4 ..], v); diff --git a/lib/std/crypto/sha1.zig b/lib/std/crypto/sha1.zig index 99289e35c400c7005987e321d5b2ed85b3e1f029..4d11b04eb52685b217c9b9ae52095978092d965e 100644 --- a/lib/std/crypto/sha1.zig +++ b/lib/std/crypto/sha1.zig @@ -105,7 +105,7 @@ pub const Sha1 = struct { d.round(d.buf[0..]); - for (d.s) |s, j| { + for (d.s, 0..) |s, j| { mem.writeIntBig(u32, out[4 * j ..][0..4], s); } } diff --git a/lib/std/crypto/sha2.zig b/lib/std/crypto/sha2.zig index 217dea37231d0bbc62fb80658d872043ed278e0d..24c22ecc9f3225f9cf09a47cee4f8747ad195d70 100644 --- a/lib/std/crypto/sha2.zig +++ b/lib/std/crypto/sha2.zig @@ -175,7 +175,7 @@ fn Sha2x32(comptime params: Sha2Params32) type { // May truncate for possible 224 output const rr = d.s[0 .. params.digest_bits / 32]; - for (rr) |s, j| { + for (rr, 0..) |s, j| { mem.writeIntBig(u32, out[4 * j ..][0..4], s); } } @@ -199,7 +199,7 @@ fn Sha2x32(comptime params: Sha2Params32) type { fn round(d: *Self, b: *const [64]u8) void { var s: [64]u32 align(16) = undefined; - for (@ptrCast(*align(1) const [16]u32, b)) |*elem, i| { + for (@ptrCast(*align(1) const [16]u32, b), 0..) |*elem, i| { s[i] = mem.readIntBig(u32, mem.asBytes(elem)); } @@ -665,7 +665,7 @@ fn Sha2x64(comptime params: Sha2Params64) type { // May truncate for possible 384 output const rr = d.s[0 .. params.digest_bits / 64]; - for (rr) |s, j| { + for (rr, 0..) |s, j| { mem.writeIntBig(u64, out[8 * j ..][0..8], s); } } diff --git a/lib/std/crypto/sha3.zig b/lib/std/crypto/sha3.zig index 7735d7bc71309627f822f1531c4a91d82b590122..c2801a47096bff722d101c524e33bd7df3c20fe2 100644 --- a/lib/std/crypto/sha3.zig +++ b/lib/std/crypto/sha3.zig @@ -43,7 +43,7 @@ fn Keccak(comptime bits: usize, comptime delim: u8) type { // absorb while (len >= rate) { - for (d.s[offset .. offset + rate]) |*r, i| + for (d.s[offset .. offset + rate], 0..) |*r, i| r.* ^= b[ip..][i]; keccakF(1600, &d.s); @@ -54,7 +54,7 @@ fn Keccak(comptime bits: usize, comptime delim: u8) type { offset = 0; } - for (d.s[offset .. offset + len]) |*r, i| + for (d.s[offset .. offset + len], 0..) |*r, i| r.* ^= b[ip..][i]; d.offset = offset + len; @@ -126,7 +126,7 @@ fn keccakF(comptime F: usize, d: *[F / 8]u8) void { var t = [_]u64{0} ** 1; var c = [_]u64{0} ** 5; - for (s) |*r, i| { + for (&s, 0..) |*r, i| { r.* = mem.readIntLittle(u64, d[8 * i ..][0..8]); } @@ -171,7 +171,7 @@ fn keccakF(comptime F: usize, d: *[F / 8]u8) void { s[0] ^= round; } - for (s) |r, i| { + for (s, 0..) |r, i| { mem.writeIntLittle(u64, d[8 * i ..][0..8], r); } } diff --git a/lib/std/crypto/siphash.zig b/lib/std/crypto/siphash.zig index e527e4558aaf223aa1409baa098909e2a6a42052..16388439d14ab97ce08aa2d56bff504fa3d4c87b 100644 --- a/lib/std/crypto/siphash.zig +++ b/lib/std/crypto/siphash.zig @@ -339,7 +339,7 @@ test "siphash64-2-4 sanity" { const siphash = SipHash64(2, 4); var buffer: [64]u8 = undefined; - for (vectors) |vector, i| { + for (vectors, 0..) |vector, i| { buffer[i] = @intCast(u8, i); var out: [siphash.mac_length]u8 = undefined; @@ -419,7 +419,7 @@ test "siphash128-2-4 sanity" { const siphash = SipHash128(2, 4); var buffer: [64]u8 = undefined; - for (vectors) |vector, i| { + for (vectors, 0..) |vector, i| { buffer[i] = @intCast(u8, i); var out: [siphash.mac_length]u8 = undefined; @@ -430,7 +430,7 @@ test "siphash128-2-4 sanity" { test "iterative non-divisible update" { var buf: [1024]u8 = undefined; - for (buf) |*e, i| { + for (&buf, 0..) |*e, i| { e.* = @truncate(u8, i); } diff --git a/lib/std/crypto/test.zig b/lib/std/crypto/test.zig index 656fa89cfebef84ddccc9c39955e3bacd1cfa5a0..f891d8c3208cd1bbee1ee2d5995f21d11d0ca716 100644 --- a/lib/std/crypto/test.zig +++ b/lib/std/crypto/test.zig @@ -13,7 +13,7 @@ pub fn assertEqualHash(comptime Hasher: anytype, comptime expected_hex: *const [ // Assert `expected` == hex(`input`) where `input` is a bytestring pub fn assertEqual(comptime expected_hex: [:0]const u8, input: []const u8) !void { var expected_bytes: [expected_hex.len / 2]u8 = undefined; - for (expected_bytes) |*r, i| { + for (&expected_bytes, 0..) |*r, i| { r.* = fmt.parseInt(u8, expected_hex[2 * i .. 2 * i + 2], 16) catch unreachable; } diff --git a/lib/std/crypto/tls.zig b/lib/std/crypto/tls.zig index 7d89da89290820b5574c827cb25584666bcfab94..526a5f2175da4205e4387d166b19d80406a2b7b7 100644 --- a/lib/std/crypto/tls.zig +++ b/lib/std/crypto/tls.zig @@ -344,7 +344,7 @@ pub inline fn array(comptime elem_size: comptime_int, bytes: anytype) [2 + bytes pub inline fn enum_array(comptime E: type, comptime tags: []const E) [2 + @sizeOf(E) * tags.len]u8 { assert(@sizeOf(E) == 2); var result: [tags.len * 2]u8 = undefined; - for (tags) |elem, i| { + for (tags, 0..) |elem, i| { result[i * 2] = @truncate(u8, @enumToInt(elem) >> 8); result[i * 2 + 1] = @truncate(u8, @enumToInt(elem)); } diff --git a/lib/std/crypto/utils.zig b/lib/std/crypto/utils.zig index fd7264e737860bc4f930ff86b37cf0d7e96c27dc..ec4c322963ec4b21a21b245a7ad0a18a50260c0a 100644 --- a/lib/std/crypto/utils.zig +++ b/lib/std/crypto/utils.zig @@ -18,7 +18,7 @@ pub fn timingSafeEql(comptime T: type, a: T, b: T) bool { @compileError("Elements to be compared must be integers"); } var acc = @as(C, 0); - for (a) |x, i| { + for (a, 0..) |x, i| { acc |= x ^ b[i]; } const s = @typeInfo(C).Int.bits; @@ -64,7 +64,7 @@ pub fn timingSafeCompare(comptime T: type, a: []const T, b: []const T, endian: E eq &= @truncate(T, (@as(Cext, (x2 ^ x1)) -% 1) >> bits); } } else { - for (a) |x1, i| { + for (a, 0..) |x1, i| { const x2 = b[i]; gt |= @truncate(T, (@as(Cext, x2) -% @as(Cext, x1)) >> bits) & eq; eq &= @truncate(T, (@as(Cext, (x2 ^ x1)) -% 1) >> bits); diff --git a/lib/std/crypto/xoodoo.zig b/lib/std/crypto/xoodoo.zig index bbc579f0734c4caccc73a7d108944ea679311e4c..ea3554a635b30138b4326b8159e275e15b47c79e 100644 --- a/lib/std/crypto/xoodoo.zig +++ b/lib/std/crypto/xoodoo.zig @@ -66,7 +66,7 @@ pub const State = struct { /// XOR bytes into the beginning of the state. pub fn addBytes(self: *State, bytes: []const u8) void { self.endianSwap(); - for (self.asBytes()[0..bytes.len]) |*byte, i| { + for (self.asBytes()[0..bytes.len], 0..) |*byte, i| { byte.* ^= bytes[i]; } self.endianSwap(); diff --git a/lib/std/debug.zig b/lib/std/debug.zig index 3708c4fe81bc32cad9ff0a3ac147cc111ab2efc9..97acf81af60a17c26778e48f01e139d7ce116223 100644 --- a/lib/std/debug.zig +++ b/lib/std/debug.zig @@ -213,7 +213,7 @@ pub fn captureStackTrace(first_address: ?usize, stack_trace: *std.builtin.StackT var addr_buf_stack: [32]usize = undefined; const addr_buf = if (addr_buf_stack.len > addrs.len) addr_buf_stack[0..] else addrs; const n = walkStackWindows(addr_buf[0..]); - const first_index = for (addr_buf[0..n]) |addr, i| { + const first_index = for (addr_buf[0..n], 0..) |addr, i| { if (addr == first_addr) { break i; } @@ -224,13 +224,13 @@ pub fn captureStackTrace(first_address: ?usize, stack_trace: *std.builtin.StackT const end_index = math.min(first_index + addrs.len, n); const slice = addr_buf[first_index..end_index]; // We use a for loop here because slice and addrs may alias. - for (slice) |addr, i| { + for (slice, 0..) |addr, i| { addrs[i] = addr; } stack_trace.index = slice.len; } else { var it = StackIterator.init(first_address, null); - for (stack_trace.instruction_addresses) |*addr, i| { + for (stack_trace.instruction_addresses, 0..) |*addr, i| { addr.* = it.next() orelse { stack_trace.index = i; return; @@ -621,7 +621,7 @@ pub fn writeCurrentStackTraceWindows( const n = walkStackWindows(addr_buf[0..]); const addrs = addr_buf[0..n]; var start_i: usize = if (start_addr) |saddr| blk: { - for (addrs) |addr, i| { + for (addrs, 0..) |addr, i| { if (addr == saddr) break :blk i; } return; @@ -2138,7 +2138,7 @@ pub fn ConfigurableTrace(comptime size: usize, comptime stack_frame_count: usize ) catch return; return; }; - for (t.addrs[0..end]) |frames_array, i| { + for (t.addrs[0..end], 0..) |frames_array, i| { stderr.print("{s}:\n", .{t.notes[i]}) catch return; var frames_array_mutable = frames_array; const frames = mem.sliceTo(frames_array_mutable[0..], 0); diff --git a/lib/std/dwarf.zig b/lib/std/dwarf.zig index a6f38db4372856a56a47d95525dbf99baa711767..99dff14c3615c906383a754ded3e2ad5966245e7 100644 --- a/lib/std/dwarf.zig +++ b/lib/std/dwarf.zig @@ -1064,7 +1064,7 @@ pub const DwarfInfo = struct { .has_children = table_entry.has_children, }; try result.attrs.resize(allocator, table_entry.attrs.items.len); - for (table_entry.attrs.items) |attr, i| { + for (table_entry.attrs.items, 0..) |attr, i| { result.attrs.items[i] = Die.Attr{ .id = attr.attr_id, .value = try parseFormValue( diff --git a/lib/std/enums.zig b/lib/std/enums.zig index 2640e6aac9351c8eb79ec2b8cd9b6982d3faf881..61c2f01e232a71a7d2a80fc43bc9973dd3475cb5 100644 --- a/lib/std/enums.zig +++ b/lib/std/enums.zig @@ -35,7 +35,7 @@ pub fn EnumFieldStruct(comptime E: type, comptime Data: type, comptime field_def pub fn valuesFromFields(comptime E: type, comptime fields: []const EnumField) []const E { comptime { var result: [fields.len]E = undefined; - for (fields) |f, i| { + for (fields, 0..) |f, i| { result[i] = @field(E, f.name); } return &result; @@ -1331,7 +1331,7 @@ pub fn EnumIndexer(comptime E: type) type { pub const Key = E; pub const count = fields_len; pub fn indexOf(e: E) usize { - for (keys) |k, i| { + for (keys, 0..) |k, i| { if (k == e) return i; } unreachable; diff --git a/lib/std/event/loop.zig b/lib/std/event/loop.zig index c851a9b80c41a8ed5e171057f6b3943865563e56..34f74e10d294ecac6299c3d115488001e626301d 100644 --- a/lib/std/event/loop.zig +++ b/lib/std/event/loop.zig @@ -278,7 +278,7 @@ pub const Loop = struct { const empty_kevs = &[0]os.Kevent{}; - for (self.eventfd_resume_nodes) |*eventfd_node, i| { + for (self.eventfd_resume_nodes, 0..) |*eventfd_node, i| { eventfd_node.* = std.atomic.Stack(ResumeNode.EventFd).Node{ .data = ResumeNode.EventFd{ .base = ResumeNode{ @@ -343,7 +343,7 @@ pub const Loop = struct { const empty_kevs = &[0]os.Kevent{}; - for (self.eventfd_resume_nodes) |*eventfd_node, i| { + for (self.eventfd_resume_nodes, 0..) |*eventfd_node, i| { eventfd_node.* = std.atomic.Stack(ResumeNode.EventFd).Node{ .data = ResumeNode.EventFd{ .base = ResumeNode{ diff --git a/lib/std/fmt.zig b/lib/std/fmt.zig index f2ee24a9e31dd6d7d52c515473d1c4be173dab7f..0da25fde788bf6b46252b5787a616c6cae2bd38f 100644 --- a/lib/std/fmt.zig +++ b/lib/std/fmt.zig @@ -570,7 +570,7 @@ pub fn formatType( return writer.writeAll("{ ... }"); } try writer.writeAll("{"); - inline for (info.fields) |f, i| { + inline for (info.fields, 0..) |f, i| { if (i == 0) { try writer.writeAll(" "); } else { @@ -585,7 +585,7 @@ pub fn formatType( return writer.writeAll("{ ... }"); } try writer.writeAll("{"); - inline for (info.fields) |f, i| { + inline for (info.fields, 0..) |f, i| { if (i == 0) { try writer.writeAll(" ."); } else { @@ -612,7 +612,7 @@ pub fn formatType( } } if (comptime std.meta.trait.isZigString(info.child)) { - for (value) |item, i| { + for (value, 0..) |item, i| { comptime checkTextFmt(actual_fmt); if (i != 0) try formatBuf(", ", options, writer); try formatBuf(item, options, writer); @@ -659,7 +659,7 @@ pub fn formatType( } } try writer.writeAll("{ "); - for (value) |elem, i| { + for (value, 0..) |elem, i| { try formatType(elem, actual_fmt, options, writer, max_depth - 1); if (i != value.len - 1) { try writer.writeAll(", "); @@ -684,7 +684,7 @@ pub fn formatType( } } try writer.writeAll("{ "); - for (value) |elem, i| { + for (value, 0..) |elem, i| { try formatType(elem, actual_fmt, options, writer, max_depth - 1); if (i < value.len - 1) { try writer.writeAll(", "); diff --git a/lib/std/fmt/parse_float/decimal.zig b/lib/std/fmt/parse_float/decimal.zig index 1a4c7ebb0dd7ff8ee3ac33b7a58352e5619d0c3a..9dbe7095acb97b89a821abe03f8e98e240a1e694 100644 --- a/lib/std/fmt/parse_float/decimal.zig +++ b/lib/std/fmt/parse_float/decimal.zig @@ -475,7 +475,7 @@ pub fn Decimal(comptime T: type) type { const x = pow2_to_pow5_table[shift]; // Compare leading digits of current to check if lexicographically less than cutoff. - for (x.cutoff) |p5, i| { + for (x.cutoff, 0..) |p5, i| { if (i >= self.num_digits) { return x.delta - 1; } else if (self.digits[i] == p5 - '0') { // digits are stored as integers diff --git a/lib/std/fs/path.zig b/lib/std/fs/path.zig index ebb2ec82d89a9fca300d6251c4f3213e5dacfd47..150eada38b3d761cc9c75874f8eff2002335cdfa 100644 --- a/lib/std/fs/path.zig +++ b/lib/std/fs/path.zig @@ -48,7 +48,7 @@ fn joinSepMaybeZ(allocator: Allocator, separator: u8, comptime sepPredicate: fn // Find first non-empty path index. const first_path_index = blk: { - for (paths) |path, index| { + for (paths, 0..) |path, index| { if (path.len == 0) continue else break :blk index; } @@ -476,7 +476,7 @@ pub fn resolveWindows(allocator: Allocator, paths: []const []const u8) ![]u8 { var drive_kind = WindowsPath.Kind.None; var have_abs_path = false; var first_index: usize = 0; - for (paths) |p, i| { + for (paths, 0..) |p, i| { const parsed = windowsParsePath(p); if (parsed.is_abs) { have_abs_path = true; @@ -504,7 +504,7 @@ pub fn resolveWindows(allocator: Allocator, paths: []const []const u8) ![]u8 { first_index = 0; var correct_disk_designator = false; - for (paths) |p, i| { + for (paths, 0..) |p, i| { const parsed = windowsParsePath(p); if (parsed.kind != WindowsPath.Kind.None) { if (parsed.kind == drive_kind) { diff --git a/lib/std/fs/wasi.zig b/lib/std/fs/wasi.zig index fa9de0dff1e59bb2a52d34e4995ab77e7bfae1d3..75c9b1df78bfad1363168a7991229c0afc79fce3 100644 --- a/lib/std/fs/wasi.zig +++ b/lib/std/fs/wasi.zig @@ -15,7 +15,7 @@ pub const Preopens = struct { names: []const []const u8, pub fn find(p: Preopens, name: []const u8) ?os.fd_t { - for (p.names) |elem_name, i| { + for (p.names, 0..) |elem_name, i| { if (mem.eql(u8, elem_name, name)) { return @intCast(os.fd_t, i); } diff --git a/lib/std/hash/crc.zig b/lib/std/hash/crc.zig index 1c69978f80cd3028780538bddb382a8150ff0692..271b4f93da92018d9d05e7591f01e31778630371 100644 --- a/lib/std/hash/crc.zig +++ b/lib/std/hash/crc.zig @@ -35,7 +35,7 @@ pub fn Crc(comptime W: type, comptime algorithm: Algorithm(W)) type { @as(I, algorithm.polynomial) << (@bitSizeOf(I) - @bitSizeOf(W)); var table: [256]I = undefined; - for (table) |*e, i| { + for (&table, 0..) |*e, i| { var crc: I = i; if (algorithm.reflect_input) { var j: usize = 0; @@ -124,7 +124,7 @@ pub fn Crc32WithPoly(comptime poly: Polynomial) type { @setEvalBranchQuota(20000); var tables: [8][256]u32 = undefined; - for (tables[0]) |*e, i| { + for (&tables[0], 0..) |*e, i| { var crc = @intCast(u32, i); var j: usize = 0; while (j < 8) : (j += 1) { @@ -217,7 +217,7 @@ pub fn Crc32SmallWithPoly(comptime poly: Polynomial) type { const lookup_table = block: { var table: [16]u32 = undefined; - for (table) |*e, i| { + for (&table, 0..) |*e, i| { var crc = @intCast(u32, i * 16); var j: usize = 0; while (j < 8) : (j += 1) { diff --git a/lib/std/hash/wyhash.zig b/lib/std/hash/wyhash.zig index 9dda198a06562eee21eef4cd9858752ac1000b7f..2f30c26b75b36dcdf5a503ebffebcd126da05dec 100644 --- a/lib/std/hash/wyhash.zig +++ b/lib/std/hash/wyhash.zig @@ -207,7 +207,7 @@ test "test vectors streaming" { test "iterative non-divisible update" { var buf: [8192]u8 = undefined; - for (buf) |*e, i| { + for (&buf, 0..) |*e, i| { e.* = @truncate(u8, i); } diff --git a/lib/std/hash_map.zig b/lib/std/hash_map.zig index 05205e6f07355c4043937eb9d589f1495afc3d29..78fcf68b5683a2371942cd403bbc7377fb7b4e93 100644 --- a/lib/std/hash_map.zig +++ b/lib/std/hash_map.zig @@ -2119,7 +2119,7 @@ test "std.hash_map getOrPutAdapted" { var real_keys: [keys.len]u64 = undefined; - inline for (keys) |key_str, i| { + inline for (keys, 0..) |key_str, i| { const result = try map.getOrPutAdapted(key_str, AdaptedContext{}); try testing.expect(!result.found_existing); real_keys[i] = std.fmt.parseInt(u64, key_str, 10) catch unreachable; @@ -2129,7 +2129,7 @@ test "std.hash_map getOrPutAdapted" { try testing.expectEqual(map.count(), keys.len); - inline for (keys) |key_str, i| { + inline for (keys, 0..) |key_str, i| { const result = try map.getOrPutAdapted(key_str, AdaptedContext{}); try testing.expect(result.found_existing); try testing.expectEqual(real_keys[i], result.key_ptr.*); diff --git a/lib/std/heap.zig b/lib/std/heap.zig index d8e88c4933b15729a705164fb7ae58cc87115785..c15e5d0ec29bba6d371d99daffc48c8b9778b15b 100644 --- a/lib/std/heap.zig +++ b/lib/std/heap.zig @@ -724,7 +724,7 @@ pub fn testAllocator(base_allocator: mem.Allocator) !void { var slice = try allocator.alloc(*i32, 100); try testing.expect(slice.len == 100); - for (slice) |*item, i| { + for (slice, 0..) |*item, i| { item.* = try allocator.create(i32); item.*.* = @intCast(i32, i); } @@ -732,7 +732,7 @@ pub fn testAllocator(base_allocator: mem.Allocator) !void { slice = try allocator.realloc(slice, 20000); try testing.expect(slice.len == 20000); - for (slice[0..100]) |item, i| { + for (slice[0..100], 0..) |item, i| { try testing.expect(item.* == @intCast(i32, i)); allocator.destroy(item); } diff --git a/lib/std/heap/WasmPageAllocator.zig b/lib/std/heap/WasmPageAllocator.zig index 70b93c0508a10315cb291882fbee63bd5e10982a..4084eaa88e8132976ac633fdfebe710090912700 100644 --- a/lib/std/heap/WasmPageAllocator.zig +++ b/lib/std/heap/WasmPageAllocator.zig @@ -62,7 +62,7 @@ const FreeBlock = struct { fn useRecycled(self: FreeBlock, num_pages: usize, log2_align: u8) usize { @setCold(true); - for (self.data) |segment, i| { + for (self.data, 0..) |segment, i| { const spills_into_next = @bitCast(i128, segment) < 0; const has_enough_bits = @popCount(segment) >= num_pages; diff --git a/lib/std/heap/general_purpose_allocator.zig b/lib/std/heap/general_purpose_allocator.zig index 4f8be3804c47a20e454663f0e20387ed564dbf53..452480dc7a3f48f285b354ab7f9034b7f2445487 100644 --- a/lib/std/heap/general_purpose_allocator.zig +++ b/lib/std/heap/general_purpose_allocator.zig @@ -349,7 +349,7 @@ pub fn GeneralPurposeAllocator(comptime config: Config) type { /// Emits log messages for leaks and then returns whether there were any leaks. pub fn detectLeaks(self: *Self) bool { var leaks = false; - for (self.buckets) |optional_bucket, bucket_i| { + for (self.buckets, 0..) |optional_bucket, bucket_i| { const first_bucket = optional_bucket orelse continue; const size_class = @as(usize, 1) << @intCast(math.Log2Int(usize), bucket_i); const used_bits_count = usedBitsCount(size_class); diff --git a/lib/std/json.zig b/lib/std/json.zig index 96e41e93c27fab694a0cb00e5ec88a336bd76d4a..0cce71b1e6e3b0845832abce3985b539f51ec8ca 100644 --- a/lib/std/json.zig +++ b/lib/std/json.zig @@ -1280,7 +1280,7 @@ fn parsedEqual(a: anytype, b: @TypeOf(a)) bool { } }, .Array => { - for (a) |e, i| + for (a, 0..) |e, i| if (!parsedEqual(e, b[i])) return false; return true; }, @@ -1294,7 +1294,7 @@ fn parsedEqual(a: anytype, b: @TypeOf(a)) bool { .One => return parsedEqual(a.*, b.*), .Slice => { if (a.len != b.len) return false; - for (a) |e, i| + for (a, 0..) |e, i| if (!parsedEqual(e, b[i])) return false; return true; }, @@ -1518,7 +1518,7 @@ fn parseInternal( var r: T = undefined; var fields_seen = [_]bool{false} ** structInfo.fields.len; errdefer { - inline for (structInfo.fields) |field, i| { + inline for (structInfo.fields, 0..) |field, i| { if (fields_seen[i] and !field.is_comptime) { parseFree(field.type, @field(r, field.name), options); } @@ -1533,7 +1533,7 @@ fn parseInternal( var child_options = options; child_options.allow_trailing_data = true; var found = false; - inline for (structInfo.fields) |field, i| { + inline for (structInfo.fields, 0..) |field, i| { // TODO: using switches here segfault the compiler (#2727?) if ((stringToken.escapes == .None and mem.eql(u8, field.name, key_source_slice)) or (stringToken.escapes == .Some and (field.name.len == stringToken.decodedLength() and encodesTo(field.name, key_source_slice)))) { // if (switch (stringToken.escapes) { @@ -1584,7 +1584,7 @@ fn parseInternal( else => return error.UnexpectedToken, } } - inline for (structInfo.fields) |field, i| { + inline for (structInfo.fields, 0..) |field, i| { if (!fields_seen[i]) { if (field.default_value) |default_ptr| { if (!field.is_comptime) { @@ -2367,7 +2367,7 @@ pub fn stringify( if (child_options.whitespace) |*whitespace| { whitespace.indent_level += 1; } - for (value) |x, i| { + for (value, 0..) |x, i| { if (i != 0) { try out_stream.writeByte(','); } diff --git a/lib/std/json/test.zig b/lib/std/json/test.zig index 3c9414a59cd59e233e60332901b446dd34304583..067bc2920bfac8f0317c45deaa221fc769d904c7 100644 --- a/lib/std/json/test.zig +++ b/lib/std/json/test.zig @@ -2717,7 +2717,7 @@ test "string copy option" { const copy_addr = &obj_copy.get("noescape").?.String[0]; var found_nocopy = false; - for (input) |_, index| { + for (input, 0..) |_, index| { try testing.expect(copy_addr != &input[index]); if (nocopy_addr == &input[index]) { found_nocopy = true; diff --git a/lib/std/math/big/int.zig b/lib/std/math/big/int.zig index 21f5015c6c9a111e4ecf113fd033db044b57105d..b7725b9ae902ddad201f67dc93699327b071e610 100644 --- a/lib/std/math/big/int.zig +++ b/lib/std/math/big/int.zig @@ -1478,11 +1478,11 @@ pub const Mutable = struct { // const x_trailing = std.mem.indexOfScalar(Limb, x.limbs[0..x.len], 0).?; // const y_trailing = std.mem.indexOfScalar(Limb, y.limbs[0..y.len], 0).?; - const x_trailing = for (x.limbs[0..x.len]) |xi, i| { + const x_trailing = for (x.limbs[0..x.len], 0..) |xi, i| { if (xi != 0) break i; } else unreachable; - const y_trailing = for (y.limbs[0..y.len]) |yi, i| { + const y_trailing = for (y.limbs[0..y.len], 0..) |yi, i| { if (yi != 0) break i; } else unreachable; @@ -2108,7 +2108,7 @@ pub const Const = struct { if (@sizeOf(UT) <= @sizeOf(Limb)) { r = @intCast(UT, self.limbs[0]); } else { - for (self.limbs[0..self.limbs.len]) |_, ri| { + for (self.limbs[0..self.limbs.len], 0..) |_, ri| { const limb = self.limbs[self.limbs.len - ri - 1]; r <<= limb_bits; r |= limb; @@ -3594,7 +3594,7 @@ fn lldiv1(quo: []Limb, rem: *Limb, a: []const Limb, b: Limb) void { assert(quo.len >= a.len); rem.* = 0; - for (a) |_, ri| { + for (a, 0..) |_, ri| { const i = a.len - ri - 1; const pdiv = ((@as(DoubleLimb, rem.*) << limb_bits) | a[i]); @@ -3620,7 +3620,7 @@ fn lldiv0p5(quo: []Limb, rem: *Limb, a: []const Limb, b: HalfLimb) void { assert(quo.len >= a.len); rem.* = 0; - for (a) |_, ri| { + for (a, 0..) |_, ri| { const i = a.len - ri - 1; const ai_high = a[i] >> half_limb_bits; const ai_low = a[i] & ((1 << half_limb_bits) - 1); @@ -4028,7 +4028,7 @@ fn llsquareBasecase(r: []Limb, x: []const Limb) void { // - Each mixed-product term appears twice for each column, // - Squares are always in the 2k (0 <= k < N) column - for (x_norm) |v, i| { + for (x_norm, 0..) |v, i| { // Accumulate all the x[i]*x[j] (with x!=j) products const overflow = llmulLimb(.add, r[2 * i + 1 ..], x_norm[i + 1 ..], v); assert(!overflow); @@ -4037,7 +4037,7 @@ fn llsquareBasecase(r: []Limb, x: []const Limb) void { // Each product appears twice, multiply by 2 llshl(r, r[0 .. 2 * x_norm.len], 1); - for (x_norm) |v, i| { + for (x_norm, 0..) |v, i| { // Compute and add the squares const overflow = llmulLimb(.add, r[2 * i ..], x[i .. i + 1], v); assert(!overflow); diff --git a/lib/std/math/big/rational.zig b/lib/std/math/big/rational.zig index 98433b26ff13ecaaa1e930af60dc920c0913607b..c3609a6fa25ddb6e354894aaa7ed9a165ad1df2c 100644 --- a/lib/std/math/big/rational.zig +++ b/lib/std/math/big/rational.zig @@ -70,7 +70,7 @@ pub const Rational = struct { start += 1; } - for (str) |c, i| { + for (str, 0..) |c, i| { switch (state) { State.Integer => { switch (c) { diff --git a/lib/std/mem.zig b/lib/std/mem.zig index 371ef8fd8dc302c05b250d351fd2d2d54c0e4f2d..fdd1c0586239c5a4264fa69b670ee70ffa177e66 100644 --- a/lib/std/mem.zig +++ b/lib/std/mem.zig @@ -169,7 +169,7 @@ test "Allocator.resize" { var values = try testing.allocator.alloc(T, 100); defer testing.allocator.free(values); - for (values) |*v, i| v.* = @intCast(T, i); + for (values, 0..) |*v, i| v.* = @intCast(T, i); if (!testing.allocator.resize(values, values.len + 10)) return error.OutOfMemory; values = values.ptr[0 .. values.len + 10]; try testing.expect(values.len == 110); @@ -185,7 +185,7 @@ test "Allocator.resize" { var values = try testing.allocator.alloc(T, 100); defer testing.allocator.free(values); - for (values) |*v, i| v.* = @intToFloat(T, i); + for (values, 0..) |*v, i| v.* = @intToFloat(T, i); if (!testing.allocator.resize(values, values.len + 10)) return error.OutOfMemory; values = values.ptr[0 .. values.len + 10]; try testing.expect(values.len == 110); @@ -201,7 +201,7 @@ pub fn copy(comptime T: type, dest: []T, source: []const T) void { // this and automatically omit safety checks for loops @setRuntimeSafety(false); assert(dest.len >= source.len); - for (source) |s, i| + for (source, 0..) |s, i| dest[i] = s; } @@ -445,7 +445,7 @@ pub fn zeroInit(comptime T: type, init: anytype) T { var value: T = undefined; - inline for (struct_info.fields) |field, i| { + inline for (struct_info.fields, 0..) |field, i| { if (field.is_comptime) { continue; } @@ -611,7 +611,7 @@ test "lessThan" { pub fn eql(comptime T: type, a: []const T, b: []const T) bool { if (a.len != b.len) return false; if (a.ptr == b.ptr) return true; - for (a) |item, index| { + for (a, 0..) |item, index| { if (b[index] != item) return false; } return true; @@ -1261,7 +1261,7 @@ pub fn readVarInt(comptime ReturnType: type, bytes: []const u8, endian: Endian) }, .Little => { const ShiftType = math.Log2Int(ReturnType); - for (bytes) |b, index| { + for (bytes, 0..) |b, index| { result = result | (@as(ReturnType, b) << @intCast(ShiftType, index * 8)); } }, @@ -1328,7 +1328,7 @@ pub fn readVarPackedInt( }, .Little => { int = read_bytes[0] >> bit_shift; - for (read_bytes[1..]) |elem, i| { + for (read_bytes[1..], 0..) |elem, i| { int |= (@as(uN, elem) << @intCast(Log2N, (8 * (i + 1) - bit_shift))); } }, @@ -2907,7 +2907,7 @@ pub fn indexOfMin(comptime T: type, slice: []const T) usize { assert(slice.len > 0); var best = slice[0]; var index: usize = 0; - for (slice[1..]) |item, i| { + for (slice[1..], 0..) |item, i| { if (item < best) { best = item; index = i + 1; @@ -2928,7 +2928,7 @@ pub fn indexOfMax(comptime T: type, slice: []const T) usize { assert(slice.len > 0); var best = slice[0]; var index: usize = 0; - for (slice[1..]) |item, i| { + for (slice[1..], 0..) |item, i| { if (item > best) { best = item; index = i + 1; @@ -2952,7 +2952,7 @@ pub fn indexOfMinMax(comptime T: type, slice: []const T) struct { index_min: usi var maxVal = slice[0]; var minIdx: usize = 0; var maxIdx: usize = 0; - for (slice[1..]) |item, i| { + for (slice[1..], 0..) |item, i| { if (item < minVal) { minVal = item; minIdx = i + 1; @@ -3117,7 +3117,7 @@ test "replace" { /// Replace all occurences of `needle` with `replacement`. pub fn replaceScalar(comptime T: type, slice: []T, needle: T, replacement: T) void { - for (slice) |e, i| { + for (slice, 0..) |e, i| { if (e == needle) { slice[i] = replacement; } @@ -3372,7 +3372,7 @@ test "asBytes" { try testing.expect(eql(u8, asBytes(&deadbeef), deadbeef_bytes)); var codeface = @as(u32, 0xC0DEFACE); - for (asBytes(&codeface).*) |*b| + for (asBytes(&codeface)) |*b| b.* = 0; try testing.expect(codeface == 0); diff --git a/lib/std/meta.zig b/lib/std/meta.zig index 7ab4c9f25c5c0973d21b59923ced24919e4b1f0b..07f42075b4615e7656e2802123f74b67c91eba52 100644 --- a/lib/std/meta.zig +++ b/lib/std/meta.zig @@ -117,7 +117,7 @@ pub fn stringToEnum(comptime T: type, str: []const u8) ?T { const kvs = comptime build_kvs: { const EnumKV = struct { []const u8, T }; var kvs_array: [@typeInfo(T).Enum.fields.len]EnumKV = undefined; - inline for (@typeInfo(T).Enum.fields) |enumField, i| { + inline for (@typeInfo(T).Enum.fields, 0..) |enumField, i| { kvs_array[i] = .{ enumField.name, @field(T, enumField.name) }; } break :build_kvs kvs_array[0..]; @@ -552,7 +552,7 @@ pub fn fieldNames(comptime T: type) *const [fields(T).len][]const u8 { comptime { const fieldInfos = fields(T); var names: [fieldInfos.len][]const u8 = undefined; - for (fieldInfos) |field, i| { + for (fieldInfos, 0..) |field, i| { names[i] = field.name; } return &names; @@ -593,7 +593,7 @@ pub fn tags(comptime T: type) *const [fields(T).len]T { comptime { const fieldInfos = fields(T); var res: [fieldInfos.len]T = undefined; - for (fieldInfos) |field, i| { + for (fieldInfos, 0..) |field, i| { res[i] = @field(T, field.name); } return &res; @@ -631,7 +631,7 @@ pub fn FieldEnum(comptime T: type) type { if (@typeInfo(T) == .Union) { if (@typeInfo(T).Union.tag_type) |tag_type| { - for (std.enums.values(tag_type)) |v, i| { + for (std.enums.values(tag_type), 0..) |v, i| { if (@enumToInt(v) != i) break; // enum values not consecutive if (!std.mem.eql(u8, @tagName(v), field_infos[i].name)) break; // fields out of order } else { @@ -642,7 +642,7 @@ pub fn FieldEnum(comptime T: type) type { var enumFields: [field_infos.len]std.builtin.Type.EnumField = undefined; var decls = [_]std.builtin.Type.Declaration{}; - inline for (field_infos) |field, i| { + inline for (field_infos, 0..) |field, i| { enumFields[i] = .{ .name = field.name, .value = i, @@ -672,7 +672,7 @@ fn expectEqualEnum(expected: anytype, actual: @TypeOf(expected)) !void { const expected_fields = @typeInfo(expected).Enum.fields; const actual_fields = @typeInfo(actual).Enum.fields; if (expected_fields.len != actual_fields.len) return error.FailedTest; - for (expected_fields) |expected_field, i| { + for (expected_fields, 0..) |expected_field, i| { const actual_field = actual_fields[i]; try testing.expectEqual(expected_field.value, actual_field.value); try testing.expectEqualStrings(expected_field.name, actual_field.name); @@ -682,7 +682,7 @@ fn expectEqualEnum(expected: anytype, actual: @TypeOf(expected)) !void { const expected_decls = @typeInfo(expected).Enum.decls; const actual_decls = @typeInfo(actual).Enum.decls; if (expected_decls.len != actual_decls.len) return error.FailedTest; - for (expected_decls) |expected_decl, i| { + for (expected_decls, 0..) |expected_decl, i| { const actual_decl = actual_decls[i]; try testing.expectEqual(expected_decl.is_pub, actual_decl.is_pub); try testing.expectEqualStrings(expected_decl.name, actual_decl.name); @@ -716,7 +716,7 @@ pub fn DeclEnum(comptime T: type) type { const fieldInfos = std.meta.declarations(T); var enumDecls: [fieldInfos.len]std.builtin.Type.EnumField = undefined; var decls = [_]std.builtin.Type.Declaration{}; - inline for (fieldInfos) |field, i| { + inline for (fieldInfos, 0..) |field, i| { enumDecls[i] = .{ .name = field.name, .value = i }; } return @Type(.{ @@ -870,7 +870,7 @@ pub fn eql(a: anytype, b: @TypeOf(a)) bool { }, .Array => { if (a.len != b.len) return false; - for (a) |e, i| + for (a, 0..) |e, i| if (!eql(e, b[i])) return false; return true; }, @@ -988,7 +988,7 @@ pub fn intToEnum(comptime EnumTag: type, tag_int: anytype) IntToEnumError!EnumTa /// Given a type and a name, return the field index according to source order. /// Returns `null` if the field is not found. pub fn fieldIndex(comptime T: type, comptime name: []const u8) ?comptime_int { - inline for (fields(T)) |field, i| { + inline for (fields(T), 0..) |field, i| { if (mem.eql(u8, field.name, name)) return i; } @@ -1008,7 +1008,7 @@ pub fn declList(comptime Namespace: type, comptime Decl: type) []const *const De comptime { const decls = declarations(Namespace); var array: [decls.len]*const Decl = undefined; - for (decls) |decl, i| { + for (decls, 0..) |decl, i| { array[i] = &@field(Namespace, decl.name); } std.sort.sort(*const Decl, &array, {}, S.declNameLessThan); @@ -1069,7 +1069,7 @@ pub fn ArgsTuple(comptime Function: type) type { @compileError("Cannot create ArgsTuple for variadic function"); var argument_field_list: [function_info.params.len]type = undefined; - inline for (function_info.params) |arg, i| { + inline for (function_info.params, 0..) |arg, i| { const T = arg.type.?; argument_field_list[i] = T; } @@ -1090,7 +1090,7 @@ pub fn Tuple(comptime types: []const type) type { fn CreateUniqueTuple(comptime N: comptime_int, comptime types: [N]type) type { var tuple_fields: [types.len]std.builtin.Type.StructField = undefined; - inline for (types) |T, i| { + inline for (types, 0..) |T, i| { @setEvalBranchQuota(10_000); var num_buf: [128]u8 = undefined; tuple_fields[i] = .{ @@ -1129,7 +1129,7 @@ const TupleTester = struct { if (expected.len != fields_list.len) @compileError("Argument count mismatch"); - inline for (fields_list) |fld, i| { + inline for (fields_list, 0..) |fld, i| { if (expected[i] != fld.type) { @compileError("Field " ++ fld.name ++ " expected to be type " ++ @typeName(expected[i]) ++ ", but was type " ++ @typeName(fld.type)); } diff --git a/lib/std/meta/trailer_flags.zig b/lib/std/meta/trailer_flags.zig index e50950018d2ca85553e056f85f8d7a8da227fa86..0c43a5ff28115c83aef6e99b33e6b84e280e03a1 100644 --- a/lib/std/meta/trailer_flags.zig +++ b/lib/std/meta/trailer_flags.zig @@ -21,7 +21,7 @@ pub fn TrailerFlags(comptime Fields: type) type { pub const ActiveFields = std.enums.EnumFieldStruct(FieldEnum, bool, false); pub const FieldValues = blk: { comptime var fields: [bit_count]Type.StructField = undefined; - inline for (@typeInfo(Fields).Struct.fields) |struct_field, i| { + inline for (@typeInfo(Fields).Struct.fields, 0..) |struct_field, i| { fields[i] = Type.StructField{ .name = struct_field.name, .type = ?struct_field.type, @@ -61,7 +61,7 @@ pub fn TrailerFlags(comptime Fields: type) type { /// `fields` is a boolean struct where each active field is set to `true` pub fn init(fields: ActiveFields) Self { var self: Self = .{ .bits = 0 }; - inline for (@typeInfo(Fields).Struct.fields) |field, i| { + inline for (@typeInfo(Fields).Struct.fields, 0..) |field, i| { if (@field(fields, field.name)) self.bits |= 1 << i; } @@ -70,7 +70,7 @@ pub fn TrailerFlags(comptime Fields: type) type { /// `fields` is a struct with each field set to an optional value pub fn setMany(self: Self, p: [*]align(@alignOf(Fields)) u8, fields: FieldValues) void { - inline for (@typeInfo(Fields).Struct.fields) |field, i| { + inline for (@typeInfo(Fields).Struct.fields, 0..) |field, i| { if (@field(fields, field.name)) |value| self.set(p, @intToEnum(FieldEnum, i), value); } @@ -101,7 +101,7 @@ pub fn TrailerFlags(comptime Fields: type) type { pub fn offset(self: Self, comptime field: FieldEnum) usize { var off: usize = 0; - inline for (@typeInfo(Fields).Struct.fields) |field_info, i| { + inline for (@typeInfo(Fields).Struct.fields, 0..) |field_info, i| { const active = (self.bits & (1 << i)) != 0; if (i == @enumToInt(field)) { assert(active); @@ -119,7 +119,7 @@ pub fn TrailerFlags(comptime Fields: type) type { pub fn sizeInBytes(self: Self) usize { var off: usize = 0; - inline for (@typeInfo(Fields).Struct.fields) |field, i| { + inline for (@typeInfo(Fields).Struct.fields, 0..) |field, i| { if (@sizeOf(field.type) == 0) continue; if ((self.bits & (1 << i)) != 0) { diff --git a/lib/std/multi_array_list.zig b/lib/std/multi_array_list.zig index 38c8276b9a26d8171d7791d98ab976d8d61e2e68..afdd6a5a8d505b1e92c23e9aa15540f80be06770 100644 --- a/lib/std/multi_array_list.zig +++ b/lib/std/multi_array_list.zig @@ -82,7 +82,7 @@ pub fn MultiArrayList(comptime S: type) type { alignment: usize, }; var data: [fields.len]Data = undefined; - for (fields) |field_info, i| { + for (fields, 0..) |field_info, i| { data[i] = .{ .size = @sizeOf(field_info.type), .size_index = i, @@ -98,7 +98,7 @@ pub fn MultiArrayList(comptime S: type) type { std.sort.sort(Data, &data, {}, Sort.lessThan); var sizes_bytes: [fields.len]usize = undefined; var field_indexes: [fields.len]usize = undefined; - for (data) |elem, i| { + for (data, 0..) |elem, i| { sizes_bytes[i] = elem.size; field_indexes[i] = elem.size_index; } @@ -131,7 +131,7 @@ pub fn MultiArrayList(comptime S: type) type { .capacity = self.capacity, }; var ptr: [*]u8 = self.bytes; - for (sizes.bytes) |field_size, i| { + for (sizes.bytes, 0..) |field_size, i| { result.ptrs[sizes.fields[i]] = ptr; ptr += field_size * self.capacity; } @@ -148,7 +148,7 @@ pub fn MultiArrayList(comptime S: type) type { /// Overwrite one array element with new data. pub fn set(self: *Self, index: usize, elem: S) void { const slices = self.slice(); - inline for (fields) |field_info, i| { + inline for (fields, 0..) |field_info, i| { slices.items(@intToEnum(Field, i))[index] = @field(elem, field_info.name); } } @@ -157,7 +157,7 @@ pub fn MultiArrayList(comptime S: type) type { pub fn get(self: Self, index: usize) S { const slices = self.slice(); var result: S = undefined; - inline for (fields) |field_info, i| { + inline for (fields, 0..) |field_info, i| { @field(result, field_info.name) = slices.items(@intToEnum(Field, i))[index]; } return result; @@ -230,7 +230,7 @@ pub fn MultiArrayList(comptime S: type) type { assert(index <= self.len); self.len += 1; const slices = self.slice(); - inline for (fields) |field_info, field_index| { + inline for (fields, 0..) |field_info, field_index| { const field_slice = slices.items(@intToEnum(Field, field_index)); var i: usize = self.len - 1; while (i > index) : (i -= 1) { @@ -245,7 +245,7 @@ pub fn MultiArrayList(comptime S: type) type { /// retain list ordering. pub fn swapRemove(self: *Self, index: usize) void { const slices = self.slice(); - inline for (fields) |_, i| { + inline for (fields, 0..) |_, i| { const field_slice = slices.items(@intToEnum(Field, i)); field_slice[index] = field_slice[self.len - 1]; field_slice[self.len - 1] = undefined; @@ -257,7 +257,7 @@ pub fn MultiArrayList(comptime S: type) type { /// after it to preserve order. pub fn orderedRemove(self: *Self, index: usize) void { const slices = self.slice(); - inline for (fields) |_, field_index| { + inline for (fields, 0..) |_, field_index| { const field_slice = slices.items(@intToEnum(Field, field_index)); var i = index; while (i < self.len - 1) : (i += 1) { @@ -293,7 +293,7 @@ pub fn MultiArrayList(comptime S: type) type { capacityInBytes(new_len), ) catch { const self_slice = self.slice(); - inline for (fields) |field_info, i| { + inline for (fields, 0..) |field_info, i| { if (@sizeOf(field_info.type) != 0) { const field = @intToEnum(Field, i); const dest_slice = self_slice.items(field)[new_len..]; @@ -315,7 +315,7 @@ pub fn MultiArrayList(comptime S: type) type { self.len = new_len; const self_slice = self.slice(); const other_slice = other.slice(); - inline for (fields) |field_info, i| { + inline for (fields, 0..) |field_info, i| { if (@sizeOf(field_info.type) != 0) { const field = @intToEnum(Field, i); mem.copy(field_info.type, other_slice.items(field), self_slice.items(field)); @@ -376,7 +376,7 @@ pub fn MultiArrayList(comptime S: type) type { }; const self_slice = self.slice(); const other_slice = other.slice(); - inline for (fields) |field_info, i| { + inline for (fields, 0..) |field_info, i| { if (@sizeOf(field_info.type) != 0) { const field = @intToEnum(Field, i); mem.copy(field_info.type, other_slice.items(field), self_slice.items(field)); @@ -395,7 +395,7 @@ pub fn MultiArrayList(comptime S: type) type { result.len = self.len; const self_slice = self.slice(); const result_slice = result.slice(); - inline for (fields) |field_info, i| { + inline for (fields, 0..) |field_info, i| { if (@sizeOf(field_info.type) != 0) { const field = @intToEnum(Field, i); mem.copy(field_info.type, result_slice.items(field), self_slice.items(field)); @@ -412,7 +412,7 @@ pub fn MultiArrayList(comptime S: type) type { slice: Slice, pub fn swap(sc: @This(), a_index: usize, b_index: usize) void { - inline for (fields) |field_info, i| { + inline for (fields, 0..) |field_info, i| { if (@sizeOf(field_info.type) != 0) { const field = @intToEnum(Field, i); const ptr = sc.slice.items(field); diff --git a/lib/std/net.zig b/lib/std/net.zig index fa7c489b702fbaa18ed6a4cb4bf816de7115e94f..50a0f8b9d76432ff8ff4669a218bbe19935b85a5 100644 --- a/lib/std/net.zig +++ b/lib/std/net.zig @@ -325,7 +325,7 @@ pub const Ip6Address = extern struct { var index: u8 = 0; var scope_id = false; var abbrv = false; - for (buf) |c, i| { + for (buf, 0..) |c, i| { if (scope_id) { if (c >= '0' and c <= '9') { const digit = c - '0'; @@ -444,7 +444,7 @@ pub const Ip6Address = extern struct { var scope_id_value: [os.IFNAMESIZE - 1]u8 = undefined; var scope_id_index: usize = 0; - for (buf) |c, i| { + for (buf, 0..) |c, i| { if (scope_id) { // Handling of percent-encoding should be for an URI library. if ((c >= '0' and c <= '9') or @@ -602,7 +602,7 @@ pub const Ip6Address = extern struct { .Big => big_endian_parts.*, .Little => blk: { var buf: [8]u16 = undefined; - for (big_endian_parts) |part, i| { + for (big_endian_parts, 0..) |part, i| { buf[i] = mem.bigToNative(u16, part); } break :blk buf; @@ -909,7 +909,7 @@ pub fn getAddressList(allocator: mem.Allocator, name: []const u8, port: u16) !*A result.canon_name = try canon.toOwnedSlice(); } - for (lookup_addrs.items) |lookup_addr, i| { + for (lookup_addrs.items, 0..) |lookup_addr, i| { result.addrs[i] = lookup_addr.addr; assert(result.addrs[i].getPort() == port); } @@ -989,7 +989,7 @@ fn linuxLookupName( // So far the label/precedence table cannot be customized. // This implementation is ported from musl libc. // A more idiomatic "ziggy" implementation would be welcome. - for (addrs.items) |*addr, i| { + for (addrs.items, 0..) |*addr, i| { var key: i32 = 0; var sa6: os.sockaddr.in6 = undefined; @memset(@ptrCast([*]u8, &sa6), 0, @sizeOf(os.sockaddr.in6)); @@ -1118,7 +1118,7 @@ const defined_policies = [_]Policy{ }; fn policyOf(a: [16]u8) *const Policy { - for (defined_policies) |*policy| { + for (&defined_policies) |*policy| { if (!mem.eql(u8, a[0..policy.len], policy.addr[0..policy.len])) continue; if ((a[policy.len] & policy.mask) != policy.addr[policy.len]) continue; return policy; @@ -1502,7 +1502,7 @@ fn resMSendRc( try ns_list.resize(rc.ns.items.len); const ns = ns_list.items; - for (rc.ns.items) |iplit, i| { + for (rc.ns.items, 0..) |iplit, i| { ns[i] = iplit.addr; assert(ns[i].getPort() == 53); if (iplit.addr.any.family != os.AF.INET) { diff --git a/lib/std/net/test.zig b/lib/std/net/test.zig index f2946777bd6c2531f8d3becc7bbc4b098ea8fe3d..30a63d9e3d0ba367a51ae843be07d2565e2f3bb8 100644 --- a/lib/std/net/test.zig +++ b/lib/std/net/test.zig @@ -30,7 +30,7 @@ test "parse and render IPv6 addresses" { "ff01::fb", "::ffff:123.5.123.5", }; - for (ips) |ip, i| { + for (ips, 0..) |ip, i| { var addr = net.Address.parseIp6(ip, 0) catch unreachable; var newIp = std.fmt.bufPrint(buffer[0..], "{}", .{addr}) catch unreachable; try std.testing.expect(std.mem.eql(u8, printed[i], newIp[1 .. newIp.len - 3])); diff --git a/lib/std/once.zig b/lib/std/once.zig index 775c4328a27c55aa5facec2e00bd21bc845cbebf..f012e017dd40b3048369866ca35fc8ef5def6c73 100644 --- a/lib/std/once.zig +++ b/lib/std/once.zig @@ -53,7 +53,7 @@ test "Once executes its function just once" { var threads: [10]std.Thread = undefined; defer for (threads) |handle| handle.join(); - for (threads) |*handle| { + for (&threads) |*handle| { handle.* = try std.Thread.spawn(.{}, struct { fn thread_fn(x: u8) void { _ = x; diff --git a/lib/std/os/linux.zig b/lib/std/os/linux.zig index 5d6c9f5cc99edc239a6328ffadb759bd87e97627..fe2f8404e27cb1fdd6005a5cda9d73e8f2795769 100644 --- a/lib/std/os/linux.zig +++ b/lib/std/os/linux.zig @@ -1245,7 +1245,7 @@ pub fn sendmmsg(fd: i32, msgvec: [*]mmsghdr_const, vlen: u32, flags: u32) usize // see https://www.openwall.com/lists/musl/2014/06/07/5 const kvlen = if (vlen > IOV_MAX) IOV_MAX else vlen; // matches kernel var next_unsent: usize = 0; - for (msgvec[0..kvlen]) |*msg, i| { + for (msgvec[0..kvlen], 0..) |*msg, i| { var size: i32 = 0; const msg_iovlen = @intCast(usize, msg.msg_hdr.msg_iovlen); // kernel side this is treated as unsigned for (msg.msg_hdr.msg_iov[0..msg_iovlen]) |iov| { diff --git a/lib/std/os/uefi/protocols/device_path_protocol.zig b/lib/std/os/uefi/protocols/device_path_protocol.zig index 6df6442fe669ca74213be0ba2e0e60690c64b9b1..fb497a79dafd93008f6a81e1cd871ad22ebb80c3 100644 --- a/lib/std/os/uefi/protocols/device_path_protocol.zig +++ b/lib/std/os/uefi/protocols/device_path_protocol.zig @@ -61,7 +61,7 @@ pub const DevicePathProtocol = extern struct { // The same as new.getPath(), but not const as we're filling it in. var ptr = @ptrCast([*:0]align(1) u16, @ptrCast([*]u8, new) + @sizeOf(MediaDevicePath.FilePathDevicePath)); - for (path) |s, i| + for (path, 0..) |s, i| ptr[i] = s; ptr[path.len] = 0; diff --git a/lib/std/os/windows.zig b/lib/std/os/windows.zig index 711bc9f34940cc3aadd2732c129b576758ab81b2..fe0ebc49517c171e3af5039b4bc5f2a6fe822f72 100644 --- a/lib/std/os/windows.zig +++ b/lib/std/os/windows.zig @@ -2858,7 +2858,7 @@ pub const GUID = extern struct { assert(s[18] == '-'); assert(s[23] == '-'); var bytes: [16]u8 = undefined; - for (hex_offsets) |hex_offset, i| { + for (hex_offsets, 0..) |hex_offset, i| { bytes[i] = (try std.fmt.charToDigit(s[hex_offset], 16)) << 4 | try std.fmt.charToDigit(s[hex_offset + 1], 16); } diff --git a/lib/std/packed_int_array.zig b/lib/std/packed_int_array.zig index f15ddbe9740322caf830f0778ac78ff7eeea1d6d..f42e1016aa2df824948da271666aaaa68823d6dd 100644 --- a/lib/std/packed_int_array.zig +++ b/lib/std/packed_int_array.zig @@ -215,7 +215,7 @@ pub fn PackedIntArrayEndian(comptime Int: type, comptime endian: Endian, comptim /// or, more likely, an array literal. pub fn init(ints: [int_count]Int) Self { var self = @as(Self, undefined); - for (ints) |int, i| self.set(i, int); + for (ints, 0..) |int, i| self.set(i, int); return self; } diff --git a/lib/std/pdb.zig b/lib/std/pdb.zig index 287b65b59ddfb148115aacfcecc030b603e9fba0..fdd162a34f6daf6d9a6091833c8155d4078840fd 100644 --- a/lib/std/pdb.zig +++ b/lib/std/pdb.zig @@ -922,7 +922,7 @@ const Msf = struct { } const streams = try allocator.alloc(MsfStream, stream_count); - for (streams) |*stream, i| { + for (streams, 0..) |*stream, i| { const size = stream_sizes[i]; if (size == 0) { stream.* = MsfStream{ diff --git a/lib/std/priority_dequeue.zig b/lib/std/priority_dequeue.zig index d710288105b2c8d665b6e7169f4d58d36f7116fa..db55be380403d2f6658c3ef998cad3277d24f80c 100644 --- a/lib/std/priority_dequeue.zig +++ b/lib/std/priority_dequeue.zig @@ -430,7 +430,7 @@ pub fn PriorityDequeue(comptime T: type, comptime Context: type, comptime compar const print = std.debug.print; print("{{ ", .{}); print("items: ", .{}); - for (self.items) |e, i| { + for (self.items, 0..) |e, i| { if (i >= self.len) break; print("{}, ", .{e}); } diff --git a/lib/std/priority_queue.zig b/lib/std/priority_queue.zig index 6e5e85a819046c18512e22903bacd9dc7d91a6d1..8925202c3281d7e463cecfea600fcba532ffe84c 100644 --- a/lib/std/priority_queue.zig +++ b/lib/std/priority_queue.zig @@ -263,7 +263,7 @@ pub fn PriorityQueue(comptime T: type, comptime Context: type, comptime compareF const print = std.debug.print; print("{{ ", .{}); print("items: ", .{}); - for (self.items) |e, i| { + for (self.items, 0..) |e, i| { if (i >= self.len) break; print("{}, ", .{e}); } diff --git a/lib/std/process.zig b/lib/std/process.zig index b901a9f0fa0c3a01d51abb260149a97966621b2f..777bcbbab0e5fee1543bc5e4218e10614a48550d 100644 --- a/lib/std/process.zig +++ b/lib/std/process.zig @@ -874,7 +874,7 @@ pub fn argsAlloc(allocator: Allocator) ![][:0]u8 { mem.copy(u8, result_contents, contents_slice); var contents_index: usize = 0; - for (slice_sizes) |len, i| { + for (slice_sizes, 0..) |len, i| { const new_index = contents_index + len; result_slice_list[i] = result_contents[contents_index..new_index :0]; contents_index = new_index + 1; @@ -1148,7 +1148,7 @@ pub fn execve( const arena = arena_allocator.allocator(); const argv_buf = try arena.allocSentinel(?[*:0]u8, argv.len, null); - for (argv) |arg, i| argv_buf[i] = (try arena.dupeZ(u8, arg)).ptr; + for (argv, 0..) |arg, i| argv_buf[i] = (try arena.dupeZ(u8, arg)).ptr; const envp = m: { if (env_map) |m| { diff --git a/lib/std/rand.zig b/lib/std/rand.zig index f5a1ffe57eb6a20b82e0a170dd905fa3f203382b..9722a47682aca2d4d6c855c43199761170963992 100644 --- a/lib/std/rand.zig +++ b/lib/std/rand.zig @@ -414,7 +414,7 @@ pub const Random = struct { std.debug.assert(point < sum); var accumulator: T = 0; - for (proportions) |p, index| { + for (proportions, 0..) |p, index| { accumulator += p; if (point < accumulator) return index; } diff --git a/lib/std/rand/ziggurat.zig b/lib/std/rand/ziggurat.zig index ec6dd0f0809788865b0f6f5e2dba94e3e800b1f5..fba8dfad96eefe6f863fb4c84cd70d13f91a6271 100644 --- a/lib/std/rand/ziggurat.zig +++ b/lib/std/rand/ziggurat.zig @@ -83,13 +83,13 @@ fn ZigTableGen( tables.x[0] = v / f(r); tables.x[1] = r; - for (tables.x[2..256]) |*entry, i| { + for (tables.x[2..256], 0..) |*entry, i| { const last = tables.x[2 + i - 1]; entry.* = f_inv(v / last + f(last)); } tables.x[256] = 0; - for (tables.f[0..]) |*entry, i| { + for (tables.f[0..], 0..) |*entry, i| { entry.* = f(tables.x[i]); } diff --git a/lib/std/simd.zig b/lib/std/simd.zig index 868f9864e786c1b023de106e359205e8ac6ac652..71d56daec39ec23b613bf78c37ce40e8bc4d74e5 100644 --- a/lib/std/simd.zig +++ b/lib/std/simd.zig @@ -89,7 +89,7 @@ pub fn VectorCount(comptime VectorType: type) type { pub inline fn iota(comptime T: type, comptime len: usize) @Vector(len, T) { comptime { var out: [len]T = undefined; - for (out) |*element, i| { + for (&out, 0..) |*element, i| { element.* = switch (@typeInfo(T)) { .Int => @intCast(T, i), .Float => @intToFloat(T, i), diff --git a/lib/std/sort.zig b/lib/std/sort.zig index 64b0711d839adb65218ecd15f7f3083948554e61..fa1e33e7cedfce1d29cfd3744782d8d0e306236d 100644 --- a/lib/std/sort.zig +++ b/lib/std/sort.zig @@ -1219,9 +1219,9 @@ fn testStableSort() !void { IdAndValue{ .id = 2, .value = 0 }, }, }; - for (cases) |*case| { + for (&cases) |*case| { insertionSort(IdAndValue, (case.*)[0..], {}, cmpByValue); - for (case.*) |item, i| { + for (case.*, 0..) |item, i| { try testing.expect(item.id == expected[i].id); try testing.expect(item.value == expected[i].value); } @@ -1373,7 +1373,7 @@ fn fuzzTest(rng: std.rand.Random) !void { var array = try testing.allocator.alloc(IdAndValue, array_size); defer testing.allocator.free(array); // populate with random data - for (array) |*item, index| { + for (array, 0..) |*item, index| { item.id = index; item.value = rng.intRangeLessThan(i32, 0, 100); } @@ -1401,7 +1401,7 @@ pub fn argMin( var smallest = items[0]; var smallest_index: usize = 0; - for (items[1..]) |item, i| { + for (items[1..], 0..) |item, i| { if (lessThan(context, item, smallest)) { smallest = item; smallest_index = i + 1; @@ -1453,7 +1453,7 @@ pub fn argMax( var biggest = items[0]; var biggest_index: usize = 0; - for (items[1..]) |item, i| { + for (items[1..], 0..) |item, i| { if (lessThan(context, biggest, item)) { biggest = item; biggest_index = i + 1; diff --git a/lib/std/target.zig b/lib/std/target.zig index 4429f8be2d9bade533cd58f150aa96109c0f3db0..9e3a8d62f4b7e3156dbbe4b83c41fff528accbbe 100644 --- a/lib/std/target.zig +++ b/lib/std/target.zig @@ -720,7 +720,7 @@ pub const Target = struct { /// Adds the specified feature set but not its dependencies. pub fn addFeatureSet(set: *Set, other_set: Set) void { if (builtin.zig_backend == .stage2_c) { - for (set.ints) |*int, i| int.* |= other_set.ints[i]; + for (&set.ints, 0..) |*int, i| int.* |= other_set.ints[i]; } else { set.ints = @as(@Vector(usize_count, usize), set.ints) | @as(@Vector(usize_count, usize), other_set.ints); } @@ -736,7 +736,7 @@ pub const Target = struct { /// Removes the specified feature but not its dependents. pub fn removeFeatureSet(set: *Set, other_set: Set) void { if (builtin.zig_backend == .stage2_c) { - for (set.ints) |*int, i| int.* &= ~other_set.ints[i]; + for (&set.ints, 0..) |*int, i| int.* &= ~other_set.ints[i]; } else { set.ints = @as(@Vector(usize_count, usize), set.ints) & ~@as(@Vector(usize_count, usize), other_set.ints); } @@ -747,7 +747,7 @@ pub const Target = struct { var old = set.ints; while (true) { - for (all_features_list) |feature, index_usize| { + for (all_features_list, 0..) |feature, index_usize| { const index = @intCast(Index, index_usize); if (set.isEnabled(index)) { set.addFeatureSet(feature.dependencies); @@ -1330,7 +1330,7 @@ pub const Target = struct { fn allCpusFromDecls(comptime cpus: type) []const *const Cpu.Model { const decls = @typeInfo(cpus).Struct.decls; var array: [decls.len]*const Cpu.Model = undefined; - for (decls) |decl, i| { + for (decls, 0..) |decl, i| { array[i] = &@field(cpus, decl.name); } return &array; diff --git a/lib/std/target/aarch64.zig b/lib/std/target/aarch64.zig index af50c9d89060bdc54215aad65e7ee8925faff234..b84e2f5d8ee7ce4ab26643dabb3654303147e4b3 100644 --- a/lib/std/target/aarch64.zig +++ b/lib/std/target/aarch64.zig @@ -1269,7 +1269,7 @@ pub const all_features = blk: { .dependencies = featureSet(&[_]Feature{}), }; const ti = @typeInfo(Feature); - for (result) |*elem, i| { + for (&result, 0..) |*elem, i| { elem.index = i; elem.name = ti.Enum.fields[i].name; } diff --git a/lib/std/target/amdgpu.zig b/lib/std/target/amdgpu.zig index 7138845d69e54bc40c4aa57ec6869ccf58030469..4451a0cc9bfd5a90889a0152cd81b679367606af 100644 --- a/lib/std/target/amdgpu.zig +++ b/lib/std/target/amdgpu.zig @@ -1033,7 +1033,7 @@ pub const all_features = blk: { .dependencies = featureSet(&[_]Feature{}), }; const ti = @typeInfo(Feature); - for (result) |*elem, i| { + for (&result, 0..) |*elem, i| { elem.index = i; elem.name = ti.Enum.fields[i].name; } diff --git a/lib/std/target/arc.zig b/lib/std/target/arc.zig index 822104b466080195126aa578cd9699b8b4eba7d0..86d803c21746133631a933bd7baafc99fb9076a0 100644 --- a/lib/std/target/arc.zig +++ b/lib/std/target/arc.zig @@ -23,7 +23,7 @@ pub const all_features = blk: { .dependencies = featureSet(&[_]Feature{}), }; const ti = @typeInfo(Feature); - for (result) |*elem, i| { + for (&result, 0..) |*elem, i| { elem.index = i; elem.name = ti.Enum.fields[i].name; } diff --git a/lib/std/target/arm.zig b/lib/std/target/arm.zig index 2f5371187e2ecf421a51270ae822c929962b6329..14241b4b7e013219056f7fa1db75fa803ee9f27d 100644 --- a/lib/std/target/arm.zig +++ b/lib/std/target/arm.zig @@ -1631,7 +1631,7 @@ pub const all_features = blk: { .dependencies = featureSet(&[_]Feature{}), }; const ti = @typeInfo(Feature); - for (result) |*elem, i| { + for (&result, 0..) |*elem, i| { elem.index = i; elem.name = ti.Enum.fields[i].name; } diff --git a/lib/std/target/avr.zig b/lib/std/target/avr.zig index c9e5d1de2348a66eae6c73b079c647e8dfd6d9fb..ef234e3502635e88e6be46ea9908e27e79132f1e 100644 --- a/lib/std/target/avr.zig +++ b/lib/std/target/avr.zig @@ -329,7 +329,7 @@ pub const all_features = blk: { }), }; const ti = @typeInfo(Feature); - for (result) |*elem, i| { + for (&result, 0..) |*elem, i| { elem.index = i; elem.name = ti.Enum.fields[i].name; } diff --git a/lib/std/target/bpf.zig b/lib/std/target/bpf.zig index a8c7a81a3bf98adea2d45a913db25491185f73fd..82503c11a4a1e9495584c0367253070318361cac 100644 --- a/lib/std/target/bpf.zig +++ b/lib/std/target/bpf.zig @@ -35,7 +35,7 @@ pub const all_features = blk: { .dependencies = featureSet(&[_]Feature{}), }; const ti = @typeInfo(Feature); - for (result) |*elem, i| { + for (&result, 0..) |*elem, i| { elem.index = i; elem.name = ti.Enum.fields[i].name; } diff --git a/lib/std/target/csky.zig b/lib/std/target/csky.zig index 4c719c776fa3919c12b3751f0ad5ff1956f0b999..0a985f064881d9ce7d0dde28791ecf67d7ffbc36 100644 --- a/lib/std/target/csky.zig +++ b/lib/std/target/csky.zig @@ -416,7 +416,7 @@ pub const all_features = blk: { .dependencies = featureSet(&[_]Feature{}), }; const ti = @typeInfo(Feature); - for (result) |*elem, i| { + for (&result, 0..) |*elem, i| { elem.index = i; elem.name = ti.Enum.fields[i].name; } diff --git a/lib/std/target/hexagon.zig b/lib/std/target/hexagon.zig index 1bab66fb0557156d311e86c33d4699c4bd055d1e..5d167ca3eef6c1157d1f43fa83da78554d2ac3fb 100644 --- a/lib/std/target/hexagon.zig +++ b/lib/std/target/hexagon.zig @@ -268,7 +268,7 @@ pub const all_features = blk: { .dependencies = featureSet(&[_]Feature{}), }; const ti = @typeInfo(Feature); - for (result) |*elem, i| { + for (&result, 0..) |*elem, i| { elem.index = i; elem.name = ti.Enum.fields[i].name; } diff --git a/lib/std/target/m68k.zig b/lib/std/target/m68k.zig index 6e147dffd79742040a43dd4a558d78d379cdfd06..10a8ae4dc2b8b604c7331a7a7b602c6b13e32049 100644 --- a/lib/std/target/m68k.zig +++ b/lib/std/target/m68k.zig @@ -153,7 +153,7 @@ pub const all_features = blk: { .dependencies = featureSet(&[_]Feature{}), }; const ti = @typeInfo(Feature); - for (result) |*elem, i| { + for (&result, 0..) |*elem, i| { elem.index = i; elem.name = ti.Enum.fields[i].name; } diff --git a/lib/std/target/mips.zig b/lib/std/target/mips.zig index 881a46694b34fb53c87cc625fb148e5ce7874163..5650bd64c2b85a15dcd3eba865af3ef6e23ae931 100644 --- a/lib/std/target/mips.zig +++ b/lib/std/target/mips.zig @@ -387,7 +387,7 @@ pub const all_features = blk: { .dependencies = featureSet(&[_]Feature{}), }; const ti = @typeInfo(Feature); - for (result) |*elem, i| { + for (&result, 0..) |*elem, i| { elem.index = i; elem.name = ti.Enum.fields[i].name; } diff --git a/lib/std/target/msp430.zig b/lib/std/target/msp430.zig index 6e8aac29b9384c395bd39603c30687454554407f..8e2b8536c8fde8ea3db2020b698c413e9f1f3e58 100644 --- a/lib/std/target/msp430.zig +++ b/lib/std/target/msp430.zig @@ -41,7 +41,7 @@ pub const all_features = blk: { .dependencies = featureSet(&[_]Feature{}), }; const ti = @typeInfo(Feature); - for (result) |*elem, i| { + for (&result, 0..) |*elem, i| { elem.index = i; elem.name = ti.Enum.fields[i].name; } diff --git a/lib/std/target/nvptx.zig b/lib/std/target/nvptx.zig index 4863d82bde4b167eccd6f9e19e5b4d565def94c5..b062b213270f5675fc2fec819a46550781ae3fd9 100644 --- a/lib/std/target/nvptx.zig +++ b/lib/std/target/nvptx.zig @@ -221,7 +221,7 @@ pub const all_features = blk: { .dependencies = featureSet(&[_]Feature{}), }; const ti = @typeInfo(Feature); - for (result) |*elem, i| { + for (&result, 0..) |*elem, i| { elem.index = i; elem.name = ti.Enum.fields[i].name; } diff --git a/lib/std/target/powerpc.zig b/lib/std/target/powerpc.zig index 25c4162b0df0fb3d292dc63f9c5df524d49c337d..0532671a5b1b27120042eabe3c346984727679fd 100644 --- a/lib/std/target/powerpc.zig +++ b/lib/std/target/powerpc.zig @@ -592,7 +592,7 @@ pub const all_features = blk: { }), }; const ti = @typeInfo(Feature); - for (result) |*elem, i| { + for (&result, 0..) |*elem, i| { elem.index = i; elem.name = ti.Enum.fields[i].name; } diff --git a/lib/std/target/riscv.zig b/lib/std/target/riscv.zig index b3b24fece3fbf85611373ad868c6159ea5587f8a..fba5bbfdf6f5de0151e3ce192ced4e1e1725daf8 100644 --- a/lib/std/target/riscv.zig +++ b/lib/std/target/riscv.zig @@ -660,7 +660,7 @@ pub const all_features = blk: { }), }; const ti = @typeInfo(Feature); - for (result) |*elem, i| { + for (&result, 0..) |*elem, i| { elem.index = i; elem.name = ti.Enum.fields[i].name; } diff --git a/lib/std/target/s390x.zig b/lib/std/target/s390x.zig index 8b93019e24adbdc2c67c9af95f0deb13363e2ef7..546cbadfbdf949725733a8070fd83aea1c1777b4 100644 --- a/lib/std/target/s390x.zig +++ b/lib/std/target/s390x.zig @@ -263,7 +263,7 @@ pub const all_features = blk: { .dependencies = featureSet(&[_]Feature{}), }; const ti = @typeInfo(Feature); - for (result) |*elem, i| { + for (&result, 0..) |*elem, i| { elem.index = i; elem.name = ti.Enum.fields[i].name; } diff --git a/lib/std/target/sparc.zig b/lib/std/target/sparc.zig index 1c1d5082cc9d126d291a08c3f483016e6bd70894..7deb01db24cba272a1c8b9de3ec7c39ef75201a6 100644 --- a/lib/std/target/sparc.zig +++ b/lib/std/target/sparc.zig @@ -131,7 +131,7 @@ pub const all_features = blk: { .dependencies = featureSet(&[_]Feature{}), }; const ti = @typeInfo(Feature); - for (result) |*elem, i| { + for (&result, 0..) |*elem, i| { elem.index = i; elem.name = ti.Enum.fields[i].name; } diff --git a/lib/std/target/spirv.zig b/lib/std/target/spirv.zig index 84b92a764ce2db72eaa0fdd0aca25e119817a47f..39a91c753739a5b9ad2bf017e84546d09e4c9161 100644 --- a/lib/std/target/spirv.zig +++ b/lib/std/target/spirv.zig @@ -2075,7 +2075,7 @@ pub const all_features = blk: { .dependencies = featureSet(&[_]Feature{}), }; const ti = @typeInfo(Feature); - for (result) |*elem, i| { + for (&result, 0..) |*elem, i| { elem.index = i; elem.name = ti.Enum.fields[i].name; } diff --git a/lib/std/target/ve.zig b/lib/std/target/ve.zig index f77c07883d110183d9fa4c977471d8e24a919477..224da897c882ff9e6741e4c66ba6d6e9b3e5c5ac 100644 --- a/lib/std/target/ve.zig +++ b/lib/std/target/ve.zig @@ -23,7 +23,7 @@ pub const all_features = blk: { .dependencies = featureSet(&[_]Feature{}), }; const ti = @typeInfo(Feature); - for (result) |*elem, i| { + for (&result, 0..) |*elem, i| { elem.index = i; elem.name = ti.Enum.fields[i].name; } diff --git a/lib/std/target/wasm.zig b/lib/std/target/wasm.zig index 514b765a976427b7c1138e281d41822f3c7199a8..d89467064681546bdd99958f578ab626dcdb4b38 100644 --- a/lib/std/target/wasm.zig +++ b/lib/std/target/wasm.zig @@ -89,7 +89,7 @@ pub const all_features = blk: { .dependencies = featureSet(&[_]Feature{}), }; const ti = @typeInfo(Feature); - for (result) |*elem, i| { + for (&result, 0..) |*elem, i| { elem.index = i; elem.name = ti.Enum.fields[i].name; } diff --git a/lib/std/target/x86.zig b/lib/std/target/x86.zig index a561c317bd13001cb082082199a6b75564c5878a..8b8e47a8139c8fc9999e0ae2341d5a3c7a5e896d 100644 --- a/lib/std/target/x86.zig +++ b/lib/std/target/x86.zig @@ -1045,7 +1045,7 @@ pub const all_features = blk: { }), }; const ti = @typeInfo(Feature); - for (result) |*elem, i| { + for (&result, 0..) |*elem, i| { elem.index = i; elem.name = ti.Enum.fields[i].name; } diff --git a/lib/std/testing.zig b/lib/std/testing.zig index 895a9a097392de005a5e37d8b07a720bd4762335..37e15ff08b26dab405b6512e2c51e664f456af01 100644 --- a/lib/std/testing.zig +++ b/lib/std/testing.zig @@ -384,7 +384,7 @@ fn SliceDiffer(comptime T: type) type { const Self = @This(); pub fn write(self: Self, writer: anytype) !void { - for (self.expected) |value, i| { + for (self.expected, 0..) |value, i| { var full_index = self.start_index + i; const diff = if (i < self.actual.len) !std.meta.eql(self.actual[i], value) else true; if (diff) try self.ttyconf.setColor(writer, .Red); @@ -405,7 +405,7 @@ const BytesDiffer = struct { while (expected_iterator.next()) |chunk| { // to avoid having to calculate diffs twice per chunk var diffs: std.bit_set.IntegerBitSet(16) = .{ .mask = 0 }; - for (chunk) |byte, i| { + for (chunk, 0..) |byte, i| { var absolute_byte_index = (expected_iterator.index - chunk.len) + i; const diff = if (absolute_byte_index < self.actual.len) self.actual[absolute_byte_index] != byte else true; if (diff) diffs.set(i); @@ -418,7 +418,7 @@ const BytesDiffer = struct { if (chunk.len < 8) missing_columns += 1; try writer.writeByteNTimes(' ', missing_columns); } - for (chunk) |byte, i| { + for (chunk, 0..) |byte, i| { const byte_to_print = if (std.ascii.isPrint(byte)) byte else '.'; try self.writeByteDiff(writer, "{c}", byte_to_print, diffs.isSet(i)); } @@ -1059,7 +1059,7 @@ pub fn checkAllAllocationFailures(backing_allocator: std.mem.Allocator, comptime // Setup the tuple that will actually be used with @call (we'll need to insert // the failing allocator in field @"0" before each @call) var args: ArgsTuple = undefined; - inline for (@typeInfo(@TypeOf(extra_args)).Struct.fields) |field, i| { + inline for (@typeInfo(@TypeOf(extra_args)).Struct.fields, 0..) |field, i| { const arg_i_str = comptime str: { var str_buf: [100]u8 = undefined; const args_i = i + 1; diff --git a/lib/std/wasm.zig b/lib/std/wasm.zig index 2d519ace8b20860666be14bedbed9adb4678e531..25a0bb7abf5733fab5ec03089faf2bab6a5c7f77 100644 --- a/lib/std/wasm.zig +++ b/lib/std/wasm.zig @@ -636,7 +636,7 @@ pub const Type = struct { if (fmt.len != 0) std.fmt.invalidFmtError(fmt, self); _ = opt; try writer.writeByte('('); - for (self.params) |param, i| { + for (self.params, 0..) |param, i| { try writer.print("{s}", .{@tagName(param)}); if (i + 1 != self.params.len) { try writer.writeAll(", "); @@ -646,7 +646,7 @@ pub const Type = struct { if (self.returns.len == 0) { try writer.writeAll("nil"); } else { - for (self.returns) |return_ty, i| { + for (self.returns, 0..) |return_ty, i| { try writer.print("{s}", .{@tagName(return_ty)}); if (i + 1 != self.returns.len) { try writer.writeAll(", "); diff --git a/lib/std/zig/Ast.zig b/lib/std/zig/Ast.zig index 3784f06160980de4fb65b05cfa150bd105f12a9a..0ba717e974cadbe70bb5187fb2410b768b35eb1d 100644 --- a/lib/std/zig/Ast.zig +++ b/lib/std/zig/Ast.zig @@ -136,7 +136,7 @@ pub fn tokenLocation(self: Ast, start_offset: ByteOffset, token_index: TokenInde .line_end = self.source.len, }; const token_start = self.tokens.items(.start)[token_index]; - for (self.source[start_offset..]) |c, i| { + for (self.source[start_offset..], 0..) |c, i| { if (i + start_offset == token_start) { loc.line_end = i + start_offset; while (loc.line_end < self.source.len and self.source[loc.line_end] != '\n') { @@ -179,7 +179,7 @@ pub fn tokenSlice(tree: Ast, token_index: TokenIndex) []const u8 { pub fn extraData(tree: Ast, index: usize, comptime T: type) T { const fields = std.meta.fields(T); var result: T = undefined; - inline for (fields) |field, i| { + inline for (fields, 0..) |field, i| { comptime assert(field.type == Node.Index); @field(result, field.name) = tree.extra_data[index + i]; } @@ -2183,7 +2183,7 @@ fn fullAsmComponents(tree: Ast, info: full.Asm.Components) full.Asm { if (token_tags[info.asm_token + 1] == .keyword_volatile) { result.volatile_token = info.asm_token + 1; } - const outputs_end: usize = for (info.items) |item, i| { + const outputs_end: usize = for (info.items, 0..) |item, i| { switch (node_tags[item]) { .asm_output => continue, else => break i, diff --git a/lib/std/zig/CrossTarget.zig b/lib/std/zig/CrossTarget.zig index aad0cb42f252d04b858133ba6ec598aa043f1c1c..93b6d97d754084a9922c954b109387edd3fc30be 100644 --- a/lib/std/zig/CrossTarget.zig +++ b/lib/std/zig/CrossTarget.zig @@ -317,7 +317,7 @@ pub fn parse(args: ParseOptions) !CrossTarget { index += 1; } const feature_name = cpu_features[start..index]; - for (all_features) |feature, feat_index_usize| { + for (all_features, 0..) |feature, feat_index_usize| { const feat_index = @intCast(Target.Cpu.Feature.Set.Index, feat_index_usize); if (mem.eql(u8, feature_name, feature.name)) { set.addFeature(feat_index); diff --git a/lib/std/zig/fmt.zig b/lib/std/zig/fmt.zig index bc9d694b0e38091f684141f7ff3189461ebb71e9..4afcc7ac2e1719025cca935553d3fb0b49a800f2 100644 --- a/lib/std/zig/fmt.zig +++ b/lib/std/zig/fmt.zig @@ -25,7 +25,7 @@ pub fn fmtId(bytes: []const u8) std.fmt.Formatter(formatId) { pub fn isValidId(bytes: []const u8) bool { if (bytes.len == 0) return false; if (mem.eql(u8, bytes, "_")) return false; - for (bytes) |c, i| { + for (bytes, 0..) |c, i| { switch (c) { '_', 'a'...'z', 'A'...'Z' => {}, '0'...'9' => if (i == 0) return false, diff --git a/lib/std/zig/parser_test.zig b/lib/std/zig/parser_test.zig index d24dedfeffb5943f7a26a96e1ce8d9b028487dd5..4346ee628694a57abfa39953e1df2e4379e46841 100644 --- a/lib/std/zig/parser_test.zig +++ b/lib/std/zig/parser_test.zig @@ -6158,7 +6158,7 @@ fn testError(source: [:0]const u8, expected_errors: []const Error) !void { std.debug.print("errors found: {any}\n", .{tree.errors}); return err; }; - for (expected_errors) |expected, i| { + for (expected_errors, 0..) |expected, i| { try std.testing.expectEqual(expected, tree.errors[i].tag); } } diff --git a/lib/std/zig/render.zig b/lib/std/zig/render.zig index ea3748a9bdf1b7c4cace0c2b5c9d7cc395e218bb..61d789c3c49b25175a81535061c5a93fdab56993 100644 --- a/lib/std/zig/render.zig +++ b/lib/std/zig/render.zig @@ -1407,7 +1407,7 @@ fn renderBuiltinCall( // Render all on one line, no trailing comma. try renderToken(ais, tree, builtin_token + 1, .none); // ( - for (params) |param_node, i| { + for (params, 0..) |param_node, i| { const first_param_token = tree.firstToken(param_node); if (token_tags[first_param_token] == .multiline_string_literal_line or hasSameLineComment(tree, first_param_token - 1)) @@ -1739,7 +1739,7 @@ fn renderBlock( try renderToken(ais, tree, lbrace, .none); } else { try renderToken(ais, tree, lbrace, .newline); - for (statements) |stmt, i| { + for (statements, 0..) |stmt, i| { if (i != 0) try renderExtraNewline(ais, tree, stmt); switch (node_tags[stmt]) { .global_var_decl, @@ -1902,7 +1902,7 @@ fn renderArrayInit( const section_end = sec_end: { var this_line_first_expr: usize = 0; var this_line_size = rowSize(tree, row_exprs, rbrace); - for (row_exprs) |expr, i| { + for (row_exprs, 0..) |expr, i| { // Ignore comment on first line of this section. if (i == 0) continue; const expr_last_token = tree.lastToken(expr); @@ -1941,7 +1941,7 @@ fn renderArrayInit( var column_counter: usize = 0; var single_line = true; var contains_newline = false; - for (section_exprs) |expr, i| { + for (section_exprs, 0..) |expr, i| { const start = sub_expr_buffer.items.len; sub_expr_buffer_starts[i] = start; @@ -1983,7 +1983,7 @@ fn renderArrayInit( // Render exprs in current section. column_counter = 0; - for (section_exprs) |expr, i| { + for (section_exprs, 0..) |expr, i| { const start = sub_expr_buffer_starts[i]; const end = sub_expr_buffer_starts[i + 1]; const expr_text = sub_expr_buffer.items[start..end]; @@ -2140,7 +2140,7 @@ fn renderContainerDecl( if (token_tags[lbrace + 1] == .container_doc_comment) { try renderContainerDocComments(ais, tree, lbrace + 1); } - for (container_decl.ast.members) |member, i| { + for (container_decl.ast.members, 0..) |member, i| { if (i != 0) try renderExtraNewline(ais, tree, member); switch (tree.nodes.items(.tag)[member]) { // For container fields, ensure a trailing comma is added if necessary. @@ -2226,7 +2226,7 @@ fn renderAsm( try renderToken(ais, tree, colon1, .space); // : ais.pushIndent(); - for (asm_node.outputs) |asm_output, i| { + for (asm_node.outputs, 0..) |asm_output, i| { if (i + 1 < asm_node.outputs.len) { const next_asm_output = asm_node.outputs[i + 1]; try renderAsmOutput(gpa, ais, tree, asm_output, .none); @@ -2258,7 +2258,7 @@ fn renderAsm( } else colon3: { try renderToken(ais, tree, colon2, .space); // : ais.pushIndent(); - for (asm_node.inputs) |asm_input, i| { + for (asm_node.inputs, 0..) |asm_input, i| { if (i + 1 < asm_node.inputs.len) { const next_asm_input = asm_node.inputs[i + 1]; try renderAsmInput(gpa, ais, tree, asm_input, .none); @@ -2352,7 +2352,7 @@ fn renderParamList( if (token_tags[after_last_param_tok] == .comma) { ais.pushIndentNextLine(); try renderToken(ais, tree, lparen, .newline); // ( - for (params) |param_node, i| { + for (params, 0..) |param_node, i| { if (i + 1 < params.len) { try renderExpression(gpa, ais, tree, param_node, .none); @@ -2377,7 +2377,7 @@ fn renderParamList( try renderToken(ais, tree, lparen, .none); // ( - for (params) |param_node, i| { + for (params, 0..) |param_node, i| { const first_param_token = tree.firstToken(param_node); if (token_tags[first_param_token] == .multiline_string_literal_line or hasSameLineComment(tree, first_param_token - 1)) @@ -3015,7 +3015,7 @@ fn rowSize(tree: Ast, exprs: []const Ast.Node.Index, rtoken: Ast.TokenIndex) usi } var count: usize = 1; - for (exprs) |expr, i| { + for (exprs, 0..) |expr, i| { if (i + 1 < exprs.len) { const expr_last_token = tree.lastToken(expr) + 1; if (!tree.tokensOnSameLine(expr_last_token, tree.firstToken(exprs[i + 1]))) return count; diff --git a/lib/std/zig/system/NativeTargetInfo.zig b/lib/std/zig/system/NativeTargetInfo.zig index 7e57cdda9bc6a6357b27e09154ebba1dea998501..dbbebb43c9368080e79688efb65e6828a856d256 100644 --- a/lib/std/zig/system/NativeTargetInfo.zig +++ b/lib/std/zig/system/NativeTargetInfo.zig @@ -273,7 +273,7 @@ fn detectAbiAndDynamicLinker( assert(@enumToInt(Target.Abi.none) == 0); const fields = std.meta.fields(Target.Abi)[1..]; var array: [fields.len]Target.Abi = undefined; - inline for (fields) |field, i| { + inline for (fields, 0..) |field, i| { array[i] = @field(Target.Abi, field.name); } break :blk array; diff --git a/lib/std/zig/system/linux.zig b/lib/std/zig/system/linux.zig index 63a49c647230ce4f8b84c19fc40d45a534097484..ee07daebe93f406891ff7aa99dbaf546812f65fd 100644 --- a/lib/std/zig/system/linux.zig +++ b/lib/std/zig/system/linux.zig @@ -223,7 +223,7 @@ const ArmCpuinfoImpl = struct { }; var known_models: [self.cores.len]?*const Target.Cpu.Model = undefined; - for (self.cores[0..self.core_no]) |core, i| { + for (self.cores[0..self.core_no], 0..) |core, i| { known_models[i] = cpu_models.isKnown(.{ .architecture = core.architecture, .implementer = core.implementer, diff --git a/lib/std/zig/system/windows.zig b/lib/std/zig/system/windows.zig index 9dded69ca0e4662f3629afbe98727ac9c0fc39fd..45b44560a2ac7e2997c1e2158bd95922118ad46b 100644 --- a/lib/std/zig/system/windows.zig +++ b/lib/std/zig/system/windows.zig @@ -34,7 +34,7 @@ pub fn detectRuntimeVersion() WindowsVersion { // checking the build number against a known set of // values var last_idx: usize = 0; - for (WindowsVersion.known_win10_build_numbers) |build, i| { + for (WindowsVersion.known_win10_build_numbers, 0..) |build, i| { if (version_info.dwBuildNumber >= build) last_idx = i; } @@ -92,7 +92,7 @@ fn getCpuInfoFromRegistry(core: usize, args: anytype) !void { var tmp_bufs: [fields_info.len][max_value_len]u8 align(@alignOf(std.os.windows.UNICODE_STRING)) = undefined; - inline for (fields_info) |field, i| { + inline for (fields_info, 0..) |field, i| { const ctx: *anyopaque = blk: { switch (@field(args, field.name).value_type) { REG.SZ, @@ -153,7 +153,7 @@ fn getCpuInfoFromRegistry(core: usize, args: anytype) !void { ); switch (res) { .SUCCESS => { - inline for (fields_info) |field, i| switch (@field(args, field.name).value_type) { + inline for (fields_info, 0..) |field, i| switch (@field(args, field.name).value_type) { REG.SZ, REG.EXPAND_SZ, REG.MULTI_SZ, diff --git a/lib/test_runner.zig b/lib/test_runner.zig index 3f57b42bf57c0c77a16f8337df2ee7dc374297c3..5968fdaa5433ce3fad0e4dc661acb914d96e2d67 100644 --- a/lib/test_runner.zig +++ b/lib/test_runner.zig @@ -33,7 +33,7 @@ pub fn main() void { async_frame_buffer = &[_]u8{}; var leaks: usize = 0; - for (test_fn_list) |test_fn, i| { + for (test_fn_list, 0..) |test_fn, i| { std.testing.allocator_instance = .{}; defer { if (std.testing.allocator_instance.deinit()) { diff --git a/src/AstGen.zig b/src/AstGen.zig index 98883b0f8de088f4e72a45cf8569b6a4c4b57376..9b96b166778c8e7036cab7a5000ac9b16d21cf91 100644 --- a/src/AstGen.zig +++ b/src/AstGen.zig @@ -1505,7 +1505,7 @@ fn arrayInitExprInner( extra_index += 1; } - for (elements) |elem_init, i| { + for (elements, 0..) |elem_init, i| { const ri = if (elem_ty != .none) ResultInfo{ .rl = .{ .coerced_ty = elem_ty } } else if (array_ty_inst != .none and nodeMayNeedMemoryLocation(astgen.tree, elem_init, true)) ri: { @@ -1562,7 +1562,7 @@ fn arrayInitExprRlPtrInner( }); var extra_index = try reserveExtra(astgen, elements.len); - for (elements) |elem_init, i| { + for (elements, 0..) |elem_init, i| { const elem_ptr = try gz.addPlNode(.elem_ptr_imm, elem_init, Zir.Inst.ElemPtrImm{ .ptr = result_ptr, .index = @intCast(u32, i), @@ -6342,7 +6342,7 @@ fn forExpr( { var capture_token = for_full.payload_token; - for (for_full.ast.inputs) |input, i_usize| { + for (for_full.ast.inputs, 0..) |input, i_usize| { const i = @intCast(u32, i_usize); const capture_is_ref = token_tags[capture_token] == .asterisk; const ident_tok = capture_token + @boolToInt(capture_is_ref); @@ -6464,7 +6464,7 @@ fn forExpr( const then_sub_scope = blk: { var capture_token = for_full.payload_token; var capture_sub_scope: *Scope = &then_scope.base; - for (for_full.ast.inputs) |input, i_usize| { + for (for_full.ast.inputs, 0..) |input, i_usize| { const i = @intCast(u32, i_usize); const capture_is_ref = token_tags[capture_token] == .asterisk; const ident_tok = capture_token + @boolToInt(capture_is_ref); @@ -6974,7 +6974,7 @@ fn switchExpr( zir_datas[switch_block].pl_node.payload_index = payload_index; const strat = ri.rl.strategy(&block_scope); - for (payloads.items[case_table_start..case_table_end]) |start_index, i| { + for (payloads.items[case_table_start..case_table_end], 0..) |start_index, i| { var body_len_index = start_index; var end_index = start_index; const table_index = case_table_start + i; @@ -7638,7 +7638,7 @@ fn asmExpr( var output_type_bits: u32 = 0; - for (full.outputs) |output_node, i| { + for (full.outputs, 0..) |output_node, i| { const symbolic_name = main_tokens[output_node]; const name = try astgen.identAsString(symbolic_name); const constraint_token = symbolic_name + 2; @@ -7675,7 +7675,7 @@ fn asmExpr( var inputs_buffer: [32]Zir.Inst.Asm.Input = undefined; const inputs = inputs_buffer[0..full.inputs.len]; - for (full.inputs) |input_node, i| { + for (full.inputs, 0..) |input_node, i| { const symbolic_name = main_tokens[input_node]; const name = try astgen.identAsString(symbolic_name); const constraint_token = symbolic_name + 2; @@ -7848,7 +7848,7 @@ fn typeOf( var typeof_scope = gz.makeSubBlock(scope); typeof_scope.force_comptime = false; - for (args) |arg, i| { + for (args, 0..) |arg, i| { const param_ref = try reachableExpr(&typeof_scope, &typeof_scope.base, .{ .rl = .none }, arg, node); astgen.extra.items[args_index + i] = @enumToInt(param_ref); } diff --git a/src/Autodoc.zig b/src/Autodoc.zig index 44325e383618a77f1959123f5227bbd026db6033..2fc54cc0ec78304c4cf55856402e184a9fc457e9 100644 --- a/src/Autodoc.zig +++ b/src/Autodoc.zig @@ -1647,7 +1647,7 @@ fn walkInstruction( std.debug.assert(operands.len > 0); var array_type = try self.walkRef(file, parent_scope, parent_src, operands[0], false); - for (operands[1..]) |op, idx| { + for (operands[1..], 0..) |op, idx| { const wr = try self.walkRef(file, parent_scope, parent_src, op, false); const expr_index = self.exprs.items.len; try self.exprs.append(self.arena, wr.expr); @@ -1665,7 +1665,7 @@ fn walkInstruction( const operands = file.zir.refSlice(extra.end, extra.data.operands_len); const array_data = try self.arena.alloc(usize, operands.len); - for (operands) |op, idx| { + for (operands, 0..) |op, idx| { const wr = try self.walkRef(file, parent_scope, parent_src, op, false); const expr_index = self.exprs.items.len; try self.exprs.append(self.arena, wr.expr); @@ -1686,7 +1686,7 @@ fn walkInstruction( std.debug.assert(operands.len > 0); var array_type = try self.walkRef(file, parent_scope, parent_src, operands[0], false); - for (operands[1..]) |op, idx| { + for (operands[1..], 0..) |op, idx| { const wr = try self.walkRef(file, parent_scope, parent_src, op, false); const expr_index = self.exprs.items.len; try self.exprs.append(self.arena, wr.expr); @@ -1715,7 +1715,7 @@ fn walkInstruction( const operands = file.zir.refSlice(extra.end, extra.data.operands_len); const array_data = try self.arena.alloc(usize, operands.len); - for (operands) |op, idx| { + for (operands, 0..) |op, idx| { const wr = try self.walkRef(file, parent_scope, parent_src, op, false); const expr_index = self.exprs.items.len; try self.exprs.append(self.arena, wr.expr); @@ -2386,7 +2386,7 @@ fn walkInstruction( const array_data = try self.arena.alloc(usize, args.len); var array_type: ?DocData.Expr = null; - for (args) |arg, idx| { + for (args, 0..) |arg, idx| { const wr = try self.walkRef(file, parent_scope, parent_src, arg, idx == 0); if (idx == 0) { array_type = wr.typeRef; @@ -3470,7 +3470,7 @@ fn tryResolveRefPath( } } - for (self.ast_nodes.items[t_enum.src].fields.?) |ast_node, idx| { + for (self.ast_nodes.items[t_enum.src].fields.?, 0..) |ast_node, idx| { const name = self.ast_nodes.items[ast_node].name.?; if (std.mem.eql(u8, name, child_string)) { // TODO: should we really create an artificial @@ -3517,7 +3517,7 @@ fn tryResolveRefPath( } } - for (self.ast_nodes.items[t_union.src].fields.?) |ast_node, idx| { + for (self.ast_nodes.items[t_union.src].fields.?, 0..) |ast_node, idx| { const name = self.ast_nodes.items[ast_node].name.?; if (std.mem.eql(u8, name, child_string)) { // TODO: should we really create an artificial @@ -3564,7 +3564,7 @@ fn tryResolveRefPath( } } - for (self.ast_nodes.items[t_struct.src].fields.?) |ast_node, idx| { + for (self.ast_nodes.items[t_struct.src].fields.?, 0..) |ast_node, idx| { const name = self.ast_nodes.items[ast_node].name.?; if (std.mem.eql(u8, name, child_string)) { // TODO: should we really create an artificial diff --git a/src/Compilation.zig b/src/Compilation.zig index ce0bfb9908d3e60df0659f21e4516ec62a41f56c..ebc0e9b56321ca0924397b9260205fe87c92c4d5 100644 --- a/src/Compilation.zig +++ b/src/Compilation.zig @@ -641,7 +641,7 @@ pub const AllErrors = struct { } const reference_trace = try allocator.alloc(Message, module_err_msg.reference_trace.len); - for (reference_trace) |*reference, i| { + for (reference_trace, 0..) |*reference, i| { const module_reference = module_err_msg.reference_trace[i]; if (module_reference.hidden != 0) { reference.* = .{ .plain = .{ .msg = undefined, .count = module_reference.hidden } }; @@ -714,7 +714,7 @@ pub const AllErrors = struct { const block = file.zir.extraData(Zir.Inst.Block, item.data.notes); const body = file.zir.extra[block.end..][0..block.data.body_len]; notes = try arena.alloc(Message, body.len); - for (notes) |*note, i| { + for (notes, 0..) |*note, i| { const note_item = file.zir.extraData(Zir.Inst.CompileErrors.Item, body[i]); const msg = file.zir.nullTerminatedString(note_item.data.msg); const span = blk: { @@ -786,7 +786,7 @@ pub const AllErrors = struct { fn dupeList(list: []const Message, arena: Allocator) Allocator.Error![]Message { const duped_list = try arena.alloc(Message, list.len); - for (list) |item, i| { + for (list, 0..) |item, i| { duped_list[i] = switch (item) { .src => |src| .{ .src = .{ .msg = try arena.dupe(u8, src.msg), @@ -1441,7 +1441,7 @@ pub fn create(gpa: Allocator, options: InitOptions) !*Compilation { const llvm_cpu_features: ?[*:0]const u8 = if (build_options.have_llvm and use_llvm) blk: { var buf = std.ArrayList(u8).init(arena); - for (options.target.cpu.arch.allFeaturesList()) |feature, index_usize| { + for (options.target.cpu.arch.allFeaturesList(), 0..) |feature, index_usize| { const index = @intCast(Target.Cpu.Feature.Set.Index, index_usize); const is_enabled = options.target.cpu.features.isEnabled(index); @@ -1818,7 +1818,7 @@ pub fn create(gpa: Allocator, options: InitOptions) !*Compilation { var system_libs: std.StringArrayHashMapUnmanaged(SystemLib) = .{}; errdefer system_libs.deinit(gpa); try system_libs.ensureTotalCapacity(gpa, options.system_lib_names.len); - for (options.system_lib_names) |lib_name, i| { + for (options.system_lib_names, 0..) |lib_name, i| { system_libs.putAssumeCapacity(lib_name, options.system_lib_infos[i]); } @@ -2880,7 +2880,7 @@ pub fn getAllErrorsAlloc(self: *Compilation) !AllErrors { } for (self.lld_errors.items) |lld_error| { const notes = try arena_allocator.alloc(AllErrors.Message, lld_error.context_lines.len); - for (lld_error.context_lines) |context_line, i| { + for (lld_error.context_lines, 0..) |context_line, i| { notes[i] = .{ .plain = .{ .msg = try arena_allocator.dupe(u8, context_line), } }; @@ -3007,7 +3007,7 @@ pub fn getAllErrorsAlloc(self: *Compilation) !AllErrors { }; defer self.gpa.free(err_msg.notes); - for (keys[1..]) |key, i| { + for (keys[1..], 0..) |key, i| { const note_decl = module.declPtr(key); err_msg.notes[i] = .{ .src_loc = note_decl.nodeOffsetSrcLoc(values[i + 1]), @@ -3104,7 +3104,7 @@ pub fn performAllTheWork( const notes = try mod.gpa.alloc(Module.ErrorMsg, file.references.items.len); errdefer mod.gpa.free(notes); - for (notes) |*note, i| { + for (notes, 0..) |*note, i| { errdefer for (notes[0..i]) |*n| n.deinit(mod.gpa); note.* = switch (file.references.items[i]) { .import => |loc| try Module.ErrorMsg.init( @@ -3740,7 +3740,7 @@ pub fn cImport(comp: *Compilation, c_src: []const u8) !CImportResult { const new_argv_with_sentinel = try arena.alloc(?[*:0]const u8, argv.items.len + 1); new_argv_with_sentinel[argv.items.len] = null; const new_argv = new_argv_with_sentinel[0..argv.items.len :null]; - for (argv.items) |arg, i| { + for (argv.items, 0..) |arg, i| { new_argv[i] = try arena.dupeZ(u8, arg); } @@ -4375,7 +4375,7 @@ pub fn addCCArgs( // It would be really nice if there was a more compact way to communicate this info to Clang. const all_features_list = target.cpu.arch.allFeaturesList(); try argv.ensureUnusedCapacity(all_features_list.len * 4); - for (all_features_list) |feature, index_usize| { + for (all_features_list, 0..) |feature, index_usize| { const index = @intCast(std.Target.Cpu.Feature.Set.Index, index_usize); const is_enabled = target.cpu.features.isEnabled(index); @@ -5203,7 +5203,7 @@ pub fn generateBuiltinZigSource(comp: *Compilation, allocator: Allocator) Alloca std.zig.fmtId(generic_arch_name), }); - for (target.cpu.arch.allFeaturesList()) |feature, index_usize| { + for (target.cpu.arch.allFeaturesList(), 0..) |feature, index_usize| { const index = @intCast(std.Target.Cpu.Feature.Set.Index, index_usize); const is_enabled = target.cpu.features.isEnabled(index); if (is_enabled) { diff --git a/src/Liveness.zig b/src/Liveness.zig index e775883b1f97b619ec7108239c21c9b52c3648cb..481cf25d0479472dc17527016e9cd67cdcad540f 100644 --- a/src/Liveness.zig +++ b/src/Liveness.zig @@ -384,7 +384,7 @@ pub fn categorizeOperand( const args = @ptrCast([]const Air.Inst.Ref, air.extra[extra.end..][0..extra.data.args_len]); if (args.len + 1 <= bpi - 1) { if (callee == operand_ref) return matchOperandSmallIndex(l, inst, 0, .write); - for (args) |arg, i| { + for (args, 0..) |arg, i| { if (arg == operand_ref) return matchOperandSmallIndex(l, inst, @intCast(OperandInt, i + 1), .write); } return .write; @@ -436,7 +436,7 @@ pub fn categorizeOperand( const elements = @ptrCast([]const Air.Inst.Ref, air.extra[ty_pl.payload..][0..len]); if (elements.len <= bpi - 1) { - for (elements) |elem, i| { + for (elements, 0..) |elem, i| { if (elem == operand_ref) return matchOperandSmallIndex(l, inst, @intCast(OperandInt, i), .none); } return .none; @@ -1272,12 +1272,12 @@ fn analyzeInst( defer for (case_deaths) |*cd| cd.deinit(gpa); var total_deaths: u32 = 0; - for (case_tables) |*ct, i| { + for (case_tables, 0..) |*ct, i| { total_deaths += ct.count(); var it = ct.keyIterator(); while (it.next()) |key| { const case_death = key.*; - for (case_tables) |*ct_inner, j| { + for (case_tables, 0..) |*ct_inner, j| { if (i == j) continue; if (!ct_inner.contains(case_death)) { // instruction is not referenced in this case diff --git a/src/Manifest.zig b/src/Manifest.zig index c3f77aec98dd1ba28c80f6e87ecc40ba78f14836..068a14942f5065d7297f9d288a52babfd7dacde6 100644 --- a/src/Manifest.zig +++ b/src/Manifest.zig @@ -123,7 +123,7 @@ pub fn hexDigest(digest: [Hash.digest_length]u8) [multihash_len * 2]u8 { result[2] = hex_charset[Hash.digest_length >> 4]; result[3] = hex_charset[Hash.digest_length & 15]; - for (digest) |byte, i| { + for (digest, 0..) |byte, i| { result[4 + i * 2] = hex_charset[byte >> 4]; result[5 + i * 2] = hex_charset[byte & 15]; } diff --git a/src/Module.zig b/src/Module.zig index a129cb0cb6b708ea46e2786a6b6899b9e1954dd2..4feb04abdd671a018931580976aa27486d65af03 100644 --- a/src/Module.zig +++ b/src/Module.zig @@ -268,7 +268,7 @@ pub const MemoizedCall = struct { if (a.func != b.func) return false; assert(a.args.len == b.args.len); - for (a.args) |a_arg, arg_i| { + for (a.args, 0..) |a_arg, arg_i| { const b_arg = b.args[arg_i]; if (!a_arg.eql(b_arg, ctx.module)) { return false; @@ -1082,7 +1082,7 @@ pub const Struct = struct { assert(s.layout == .Packed); assert(s.haveLayout()); var bit_sum: u64 = 0; - for (s.fields.values()) |field, i| { + for (s.fields.values(), 0..) |field, i| { if (i == index) { return @intCast(u16, bit_sum); } @@ -1341,7 +1341,7 @@ pub const Union = struct { assert(u.haveFieldTypes()); var most_alignment: u32 = 0; var most_index: usize = undefined; - for (u.fields.values()) |field, i| { + for (u.fields.values(), 0..) |field, i| { if (!field.ty.hasRuntimeBits()) continue; const field_align = field.normalAlignment(target); @@ -1405,7 +1405,7 @@ pub const Union = struct { var payload_size: u64 = 0; var payload_align: u32 = 0; const fields = u.fields.values(); - for (fields) |field, i| { + for (fields, 0..) |field, i| { if (!field.ty.hasRuntimeBitsIgnoreComptime()) continue; const field_align = a: { @@ -3553,7 +3553,7 @@ pub fn astGenFile(mod: *Module, file: *File) !void { } if (data_has_safety_tag) { const tags = zir.instructions.items(.tag); - for (zir.instructions.items(.data)) |*data, i| { + for (zir.instructions.items(.data), 0..) |*data, i| { const union_tag = Zir.Inst.Tag.data_tags[@enumToInt(tags[i])]; const as_struct = @ptrCast(*HackDataLayout, data); as_struct.* = .{ @@ -3740,7 +3740,7 @@ pub fn astGenFile(mod: *Module, file: *File) !void { @ptrCast([*]const u8, file.zir.instructions.items(.data).ptr); if (data_has_safety_tag) { // The `Data` union has a safety tag but in the file format we store it without. - for (file.zir.instructions.items(.data)) |*data, i| { + for (file.zir.instructions.items(.data), 0..) |*data, i| { const as_struct = @ptrCast(*const HackDataLayout, data); safety_buffer[i] = as_struct.data; } @@ -6293,7 +6293,7 @@ pub fn populateTestFunctions( // Add a dependency on each test name and function pointer. try array_decl.dependencies.ensureUnusedCapacity(gpa, test_fn_vals.len * 2); - for (mod.test_functions.keys()) |test_decl_index, i| { + for (mod.test_functions.keys(), 0..) |test_decl_index, i| { const test_decl = mod.declPtr(test_decl_index); const test_name_slice = mem.sliceTo(test_decl.name, 0); const test_name_decl_index = n: { diff --git a/src/Package.zig b/src/Package.zig index a3afe21009d3227fe0487463c46a49d2a969cc59..5878e7bad698b3bc6d5f01bb51e87c8590a90e8d 100644 --- a/src/Package.zig +++ b/src/Package.zig @@ -207,7 +207,7 @@ pub fn fetchAndAddDependencies( var any_error = false; const deps_list = manifest.dependencies.values(); - for (manifest.dependencies.keys()) |name, i| { + for (manifest.dependencies.keys(), 0..) |name, i| { const dep = deps_list[i]; const sub_prefix = try std.fmt.allocPrint(arena, "{s}{s}.", .{ name_prefix, name }); diff --git a/src/RangeSet.zig b/src/RangeSet.zig index a5007ef7c87ddca6b2b57ac7e635731b00ed6880..7e501f984be9c3ad513318bc7fbfa08b2b91be91 100644 --- a/src/RangeSet.zig +++ b/src/RangeSet.zig @@ -79,7 +79,7 @@ pub fn spans(self: *RangeSet, first: Value, last: Value, ty: Type) !bool { const target = self.module.getTarget(); // look for gaps - for (self.ranges.items[1..]) |cur, i| { + for (self.ranges.items[1..], 0..) |cur, i| { // i starts counting from the second item. const prev = self.ranges.items[i]; diff --git a/src/Sema.zig b/src/Sema.zig index aeb4e25a24d99e1bf18d913742bd8950184a73bc..fde9072d71a058e6b70e59adb035e9b2a00599ba 100644 --- a/src/Sema.zig +++ b/src/Sema.zig @@ -3801,7 +3801,7 @@ fn zirResolveInferredAlloc(sema: *Sema, block: *Block, inst: Zir.Inst.Index) Com const dummy_ptr = try trash_block.addTy(.alloc, mut_final_ptr_ty); const empty_trash_count = trash_block.instructions.items.len; - for (placeholders) |bitcast_inst, i| { + for (placeholders, 0..) |bitcast_inst, i| { const sub_ptr_ty = sema.typeOf(Air.indexToRef(bitcast_inst)); if (mut_final_ptr_ty.eql(sub_ptr_ty, sema.mod)) { @@ -3917,7 +3917,7 @@ fn zirForLen(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air. defer gpa.free(runtime_arg_lens); // First pass to look for comptime values. - for (args) |zir_arg, i| { + for (args, 0..) |zir_arg, i| { runtime_arg_lens[i] = .none; if (zir_arg == .none) continue; const object = try sema.resolveInst(zir_arg); @@ -3957,7 +3957,7 @@ fn zirForLen(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air. // Now for the runtime checks. if (any_runtime and block.wantSafety()) { - for (runtime_arg_lens) |arg_len, i| { + for (runtime_arg_lens, 0..) |arg_len, i| { if (arg_len == .none) continue; if (i == len_idx) continue; const ok = try block.addBinOp(.cmp_eq, len, arg_len); @@ -4247,7 +4247,7 @@ fn validateStructInit( // In this case the only thing we need to do is evaluate the implicit // store instructions for default field values, and report any missing fields. // Avoid the cost of the extra machinery for detecting a comptime struct init value. - for (found_fields) |field_ptr, i| { + for (found_fields, 0..) |field_ptr, i| { if (field_ptr != 0) continue; const default_val = struct_ty.structFieldDefaultValue(i); @@ -4313,7 +4313,7 @@ fn validateStructInit( // ends up being comptime-known. const field_values = try sema.arena.alloc(Value, struct_ty.structFieldCount()); - field: for (found_fields) |field_ptr, i| { + field: for (found_fields, 0..) |field_ptr, i| { if (field_ptr != 0) { // Determine whether the value stored to this pointer is comptime-known. const field_ty = struct_ty.structFieldType(i); @@ -4446,7 +4446,7 @@ fn validateStructInit( try sema.resolveStructLayout(struct_ty); // Our task is to insert `store` instructions for all the default field values. - for (found_fields) |field_ptr, i| { + for (found_fields, 0..) |field_ptr, i| { if (field_ptr != 0) continue; const field_src = init_src; // TODO better source location @@ -4540,7 +4540,7 @@ fn zirValidateArrayInit( const air_tags = sema.air_instructions.items(.tag); const air_datas = sema.air_instructions.items(.data); - outer: for (instrs) |elem_ptr, i| { + outer: for (instrs, 0..) |elem_ptr, i| { // Determine whether the value stored to this pointer is comptime-known. if (array_ty.isTuple()) { @@ -5059,7 +5059,7 @@ fn zirCompileLog( const src_node = extra.data.src_node; const args = sema.code.refSlice(extra.end, extended.small); - for (args) |arg_ref, i| { + for (args, 0..) |arg_ref, i| { if (i != 0) try writer.print(", ", .{}); const arg = try sema.resolveInst(arg_ref); @@ -6277,7 +6277,7 @@ const GenericCallAdapter = struct { if (ctx.generic_fn.owner_decl != other_key.generic_owner_decl.unwrap().?) return false; const other_comptime_args = other_key.comptime_args.?; - for (other_comptime_args[0..ctx.func_ty_info.param_types.len]) |other_arg, i| { + for (other_comptime_args[0..ctx.func_ty_info.param_types.len], 0..) |other_arg, i| { const this_arg = ctx.args[i]; const this_is_comptime = this_arg.val.tag() != .generic_poison; const other_is_comptime = other_arg.val.tag() != .generic_poison; @@ -6793,7 +6793,7 @@ fn analyzeCall( assert(!func_ty_info.is_generic); const args = try sema.arena.alloc(Air.Inst.Ref, uncasted_args.len); - for (uncasted_args) |uncasted_arg, i| { + for (uncasted_args, 0..) |uncasted_arg, i| { if (i < fn_params_len) { const opts: CoerceOpts = .{ .param_src = .{ .func_inst = func, @@ -7568,7 +7568,7 @@ fn resolveGenericInstantiationType( fn resolveTupleLazyValues(sema: *Sema, block: *Block, src: LazySrcLoc, ty: Type) CompileError!void { if (!ty.isSimpleTupleOrAnonStruct()) return; const tuple = ty.tupleFields(); - for (tuple.values) |field_val, i| { + for (tuple.values, 0..) |field_val, i| { try sema.resolveTupleLazyValues(block, src, tuple.types[i]); if (field_val.tag() == .unreachable_value) continue; try sema.resolveLazyValue(field_val); @@ -8642,7 +8642,7 @@ fn funcCommon( const cc_resolved = cc orelse .Unspecified; const param_types = try sema.arena.alloc(Type, block.params.items.len); const comptime_params = try sema.arena.alloc(bool, block.params.items.len); - for (block.params.items) |param, i| { + for (block.params.items, 0..) |param, i| { const is_noalias = blk: { const index = std.math.cast(u5, i) orelse break :blk false; break :blk @truncate(u1, noalias_bits >> index) != 0; @@ -8751,7 +8751,7 @@ fn funcCommon( const tags = sema.code.instructions.items(.tag); const data = sema.code.instructions.items(.data); const param_body = sema.code.getParamBody(func_inst); - for (block.params.items) |param, i| { + for (block.params.items, 0..) |param, i| { if (!param.is_comptime) { const param_index = param_body[i]; const param_src = switch (tags[param_index]) { @@ -9850,7 +9850,7 @@ fn zirSwitchCapture( const first_field_index = @intCast(u32, operand_ty.unionTagFieldIndex(first_item_val, sema.mod).?); const first_field = union_obj.fields.values()[first_field_index]; - for (items[1..]) |item, i| { + for (items[1..], 0..) |item, i| { const item_ref = try sema.resolveInst(item); // Previous switch validation ensured this will succeed const item_val = sema.resolveConstValue(block, .unneeded, item_ref, "") catch unreachable; @@ -10180,7 +10180,7 @@ fn zirSwitchBlock(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError const items = sema.code.refSlice(extra_index, items_len); extra_index += items_len + body_len; - for (items) |item_ref, item_i| { + for (items, 0..) |item_ref, item_i| { try sema.validateSwitchItemEnum( block, seen_enum_fields, @@ -10214,7 +10214,7 @@ fn zirSwitchBlock(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError .{}, ); errdefer msg.destroy(sema.gpa); - for (seen_enum_fields) |seen_src, i| { + for (seen_enum_fields, 0..) |seen_src, i| { if (seen_src != null) continue; const field_name = operand_ty.enumFieldName(i); @@ -10276,7 +10276,7 @@ fn zirSwitchBlock(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError const items = sema.code.refSlice(extra_index, items_len); extra_index += items_len + body_len; - for (items) |item_ref, item_i| { + for (items, 0..) |item_ref, item_i| { try sema.validateSwitchItemError( block, &seen_errors, @@ -10418,7 +10418,7 @@ fn zirSwitchBlock(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError const items = sema.code.refSlice(extra_index, items_len); extra_index += items_len; - for (items) |item_ref, item_i| { + for (items, 0..) |item_ref, item_i| { try sema.validateSwitchItem( block, &range_set, @@ -10513,7 +10513,7 @@ fn zirSwitchBlock(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError const items = sema.code.refSlice(extra_index, items_len); extra_index += items_len + body_len; - for (items) |item_ref, item_i| { + for (items, 0..) |item_ref, item_i| { try sema.validateSwitchItemBool( block, &true_count, @@ -10597,7 +10597,7 @@ fn zirSwitchBlock(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError const items = sema.code.refSlice(extra_index, items_len); extra_index += items_len + body_len; - for (items) |item_ref, item_i| { + for (items, 0..) |item_ref, item_i| { try sema.validateSwitchItemSparse( block, &seen_values, @@ -10908,7 +10908,7 @@ fn zirSwitchBlock(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError } } - for (items) |item_ref, item_i| { + for (items, 0..) |item_ref, item_i| { cases_len += 1; const item = try sema.resolveInst(item_ref); @@ -11094,7 +11094,7 @@ fn zirSwitchBlock(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError operand_ty.fmt(sema.mod), }); } - for (seen_enum_fields) |f, i| { + for (seen_enum_fields, 0..) |f, i| { if (f != null) continue; cases_len += 1; @@ -11237,7 +11237,7 @@ fn zirSwitchBlock(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError } const analyze_body = if (union_originally and !special.is_inline) - for (seen_enum_fields) |seen_field, index| { + for (seen_enum_fields, 0..) |seen_field, index| { if (seen_field != null) continue; const union_obj = maybe_union_ty.cast(Type.Payload.Union).?.data; const field_ty = union_obj.fields.values()[index].ty; @@ -12217,7 +12217,7 @@ fn zirBitNot(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air. const vec_len = try sema.usizeCast(block, operand_src, operand_type.vectorLen()); var elem_val_buf: Value.ElemValueBuffer = undefined; const elems = try sema.arena.alloc(Value, vec_len); - for (elems) |*elem, i| { + for (elems, 0..) |*elem, i| { const elem_val = val.elemValueBuffer(sema.mod, i, &elem_val_buf); elem.* = try elem_val.bitwiseNot(scalar_type, sema.arena, sema.mod); } @@ -13661,7 +13661,7 @@ fn intRem( ) CompileError!Value { if (ty.zigTypeTag() == .Vector) { const result_data = try sema.arena.alloc(Value, ty.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var lhs_buf: Value.ElemValueBuffer = undefined; var rhs_buf: Value.ElemValueBuffer = undefined; const lhs_elem = lhs.elemValueBuffer(sema.mod, i, &lhs_buf); @@ -14771,7 +14771,7 @@ fn zirAsm( const outputs = try sema.arena.alloc(ConstraintName, outputs_len); var expr_ty = Air.Inst.Ref.void_type; - for (out_args) |*arg, out_i| { + for (out_args, 0..) |*arg, out_i| { const output = sema.code.extraData(Zir.Inst.Asm.Output, extra_i); extra_i = output.end; @@ -14798,7 +14798,7 @@ fn zirAsm( const args = try sema.arena.alloc(Air.Inst.Ref, inputs_len); const inputs = try sema.arena.alloc(ConstraintName, inputs_len); - for (args) |*arg, arg_i| { + for (args, 0..) |*arg, arg_i| { const input = sema.code.extraData(Zir.Inst.Asm.Input, extra_i); extra_i = input.end; @@ -15522,7 +15522,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai defer params_anon_decl.deinit(); const param_vals = try params_anon_decl.arena().alloc(Value, info.param_types.len); - for (param_vals) |*param_val, i| { + for (param_vals, 0..) |*param_val, i| { const param_ty = info.param_types[i]; const is_generic = param_ty.tag() == .generic_poison; const param_ty_val = if (is_generic) @@ -15766,7 +15766,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai const error_field_vals: ?[]Value = if (ty.isAnyError()) null else blk: { const names = ty.errorSetNames(); const vals = try fields_anon_decl.arena().alloc(Value, names.len); - for (vals) |*field_val, i| { + for (vals, 0..) |*field_val, i| { const name = names[i]; const name_val = v: { var anon_decl = try block.startAnonDecl(); @@ -15868,7 +15868,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai const enum_fields = ty.enumFields(); const enum_field_vals = try fields_anon_decl.arena().alloc(Value, enum_fields.count()); - for (enum_field_vals) |*field_val, i| { + for (enum_field_vals, 0..) |*field_val, i| { var tag_val_payload: Value.Payload.U32 = .{ .base = .{ .tag = .enum_field_index }, .data = @intCast(u32, i), @@ -15965,7 +15965,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai const union_fields = union_ty.unionFields(); const union_field_vals = try fields_anon_decl.arena().alloc(Value, union_fields.count()); - for (union_field_vals) |*field_val, i| { + for (union_field_vals, 0..) |*field_val, i| { const field = union_fields.values()[i]; const name = union_fields.keys()[i]; const name_val = v: { @@ -16074,7 +16074,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai const tuple = struct_ty.tupleFields(); const field_types = tuple.types; const struct_field_vals = try fields_anon_decl.arena().alloc(Value, field_types.len); - for (struct_field_vals) |*struct_field_val, i| { + for (struct_field_vals, 0..) |*struct_field_val, i| { const field_ty = field_types[i]; const name_val = v: { var anon_decl = try block.startAnonDecl(); @@ -16118,7 +16118,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai const struct_fields = struct_ty.structFields(); const struct_field_vals = try fields_anon_decl.arena().alloc(Value, struct_fields.count()); - for (struct_field_vals) |*field_val, i| { + for (struct_field_vals, 0..) |*field_val, i| { const field = struct_fields.values()[i]; const name = struct_fields.keys()[i]; const name_val = v: { @@ -16457,7 +16457,7 @@ fn zirTypeofPeer( const inst_list = try sema.gpa.alloc(Air.Inst.Ref, args.len); defer sema.gpa.free(inst_list); - for (args) |arg_ref, i| { + for (args, 0..) |arg_ref, i| { inst_list[i] = try sema.resolveInst(arg_ref); } @@ -17568,7 +17568,7 @@ fn finishStructInit( if (struct_ty.isAnonStruct()) { const struct_obj = struct_ty.castTag(.anon_struct).?.data; - for (struct_obj.values) |default_val, i| { + for (struct_obj.values, 0..) |default_val, i| { if (field_inits[i] != .none) continue; if (default_val.tag() == .unreachable_value) { @@ -17604,7 +17604,7 @@ fn finishStructInit( } } else { const struct_obj = struct_ty.castTag(.@"struct").?.data; - for (struct_obj.fields.values()) |field, i| { + for (struct_obj.fields.values(), 0..) |field, i| { if (field_inits[i] != .none) continue; if (field.default_val.tag() == .unreachable_value) { @@ -17645,7 +17645,7 @@ fn finishStructInit( if (is_comptime) { const values = try sema.arena.alloc(Value, field_inits.len); - for (field_inits) |field_init, i| { + for (field_inits, 0..) |field_init, i| { values[i] = (sema.resolveMaybeUndefVal(field_init) catch unreachable).?; } const struct_val = try Value.Tag.aggregate.create(sema.arena, values); @@ -17660,7 +17660,7 @@ fn finishStructInit( .@"addrspace" = target_util.defaultAddressSpace(target, .local), }); const alloc = try block.addTy(.alloc, alloc_ty); - for (field_inits) |field_init, i_usize| { + for (field_inits, 0..) |field_init, i_usize| { const i = @intCast(u32, i_usize); const field_src = dest_src; const field_ptr = try sema.structFieldPtrByIndex(block, dest_src, alloc, i, field_src, struct_ty, true); @@ -17693,7 +17693,7 @@ fn zirStructInitAnon( const opt_runtime_index = rs: { var runtime_index: ?usize = null; var extra_index = extra.end; - for (types) |*field_ty, i| { + for (types, 0..) |*field_ty, i| { const item = sema.code.extraData(Zir.Inst.StructInitAnon.Item, extra_index); extra_index = item.end; @@ -17767,7 +17767,7 @@ fn zirStructInitAnon( }); const alloc = try block.addTy(.alloc, alloc_ty); var extra_index = extra.end; - for (types) |field_ty, i_usize| { + for (types, 0..) |field_ty, i_usize| { const i = @intCast(u32, i_usize); const item = sema.code.extraData(Zir.Inst.StructInitAnon.Item, extra_index); extra_index = item.end; @@ -17789,7 +17789,7 @@ fn zirStructInitAnon( const element_refs = try sema.arena.alloc(Air.Inst.Ref, types.len); var extra_index = extra.end; - for (types) |_, i| { + for (types, 0..) |_, i| { const item = sema.code.extraData(Zir.Inst.StructInitAnon.Item, extra_index); extra_index = item.end; element_refs[i] = try sema.resolveInst(item.data.init); @@ -17817,7 +17817,7 @@ fn zirArrayInit( const resolved_args = try gpa.alloc(Air.Inst.Ref, args.len - 1 + @boolToInt(sentinel_val != null)); defer gpa.free(resolved_args); - for (args[1..]) |arg, i| { + for (args[1..], 0..) |arg, i| { const resolved_arg = try sema.resolveInst(arg); const elem_ty = if (array_ty.zigTypeTag() == .Struct) array_ty.structFieldType(i) @@ -17838,7 +17838,7 @@ fn zirArrayInit( resolved_args[resolved_args.len - 1] = try sema.addConstant(array_ty.elemType2(), some); } - const opt_runtime_index: ?u32 = for (resolved_args) |arg, i| { + const opt_runtime_index: ?u32 = for (resolved_args, 0..) |arg, i| { const comptime_known = try sema.isComptimeKnown(arg); if (!comptime_known) break @intCast(u32, i); } else null; @@ -17846,7 +17846,7 @@ fn zirArrayInit( const runtime_index = opt_runtime_index orelse { const elem_vals = try sema.arena.alloc(Value, resolved_args.len); - for (resolved_args) |arg, i| { + for (resolved_args, 0..) |arg, i| { // We checked that all args are comptime above. elem_vals[i] = (sema.resolveMaybeUndefVal(arg) catch unreachable).?; } @@ -17875,7 +17875,7 @@ fn zirArrayInit( const alloc = try block.addTy(.alloc, alloc_ty); if (array_ty.isTuple()) { - for (resolved_args) |arg, i| { + for (resolved_args, 0..) |arg, i| { const elem_ptr_ty = try Type.ptr(sema.arena, sema.mod, .{ .mutable = true, .@"addrspace" = target_util.defaultAddressSpace(target, .local), @@ -17897,7 +17897,7 @@ fn zirArrayInit( }); const elem_ptr_ty_ref = try sema.addType(elem_ptr_ty); - for (resolved_args) |arg, i| { + for (resolved_args, 0..) |arg, i| { const index = try sema.addIntUnsigned(Type.usize, i); const elem_ptr = try block.addPtrElemPtrTypeRef(alloc, index, elem_ptr_ty_ref); _ = try block.addBinOp(.store, elem_ptr, arg); @@ -17924,7 +17924,7 @@ fn zirArrayInitAnon( const opt_runtime_src = rs: { var runtime_src: ?LazySrcLoc = null; - for (operands) |operand, i| { + for (operands, 0..) |operand, i| { const operand_src = src; // TODO better source location const elem = try sema.resolveInst(operand); types[i] = sema.typeOf(elem); @@ -17967,7 +17967,7 @@ fn zirArrayInitAnon( .@"addrspace" = target_util.defaultAddressSpace(target, .local), }); const alloc = try block.addTy(.alloc, alloc_ty); - for (operands) |operand, i_usize| { + for (operands, 0..) |operand, i_usize| { const i = @intCast(u32, i_usize); const field_ptr_ty = try Type.ptr(sema.arena, sema.mod, .{ .mutable = true, @@ -17984,7 +17984,7 @@ fn zirArrayInitAnon( } const element_refs = try sema.arena.alloc(Air.Inst.Ref, operands.len); - for (operands) |operand, i| { + for (operands, 0..) |operand, i| { element_refs[i] = try sema.resolveInst(operand); } @@ -18187,7 +18187,7 @@ fn zirUnaryMath( var elem_buf: Value.ElemValueBuffer = undefined; const elems = try sema.arena.alloc(Value, vec_len); - for (elems) |*elem, i| { + for (elems, 0..) |*elem, i| { const elem_val = val.elemValueBuffer(sema.mod, i, &elem_buf); elem.* = try eval(elem_val, scalar_ty, sema.arena, sema.mod); } @@ -19191,7 +19191,7 @@ fn reifyStruct( if (layout == .Packed) { struct_obj.status = .layout_wip; - for (struct_obj.fields.values()) |field, index| { + for (struct_obj.fields.values(), 0..) |field, index| { sema.resolveTypeLayout(field.ty) catch |err| switch (err) { error.AnalysisFail => { const msg = sema.err orelse return err; @@ -19820,7 +19820,7 @@ fn zirTruncate(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai } var elem_buf: Value.ElemValueBuffer = undefined; const elems = try sema.arena.alloc(Value, operand_ty.vectorLen()); - for (elems) |*elem, i| { + for (elems, 0..) |*elem, i| { const elem_val = val.elemValueBuffer(sema.mod, i, &elem_buf); elem.* = try elem_val.intTrunc(operand_scalar_ty, sema.arena, dest_info.signedness, dest_info.bits, sema.mod); } @@ -19922,7 +19922,7 @@ fn zirBitCount( var elem_buf: Value.ElemValueBuffer = undefined; const elems = try sema.arena.alloc(Value, vec_len); const scalar_ty = operand_ty.scalarType(); - for (elems) |*elem, i| { + for (elems, 0..) |*elem, i| { const elem_val = val.elemValueBuffer(sema.mod, i, &elem_buf); const count = comptimeOp(elem_val, scalar_ty, target); elem.* = try Value.Tag.int_u64.create(sema.arena, count); @@ -19991,7 +19991,7 @@ fn zirByteSwap(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai const vec_len = operand_ty.vectorLen(); var elem_buf: Value.ElemValueBuffer = undefined; const elems = try sema.arena.alloc(Value, vec_len); - for (elems) |*elem, i| { + for (elems, 0..) |*elem, i| { const elem_val = val.elemValueBuffer(sema.mod, i, &elem_buf); elem.* = try elem_val.byteSwap(operand_ty, target, sema.arena); } @@ -20040,7 +20040,7 @@ fn zirBitReverse(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError! const vec_len = operand_ty.vectorLen(); var elem_buf: Value.ElemValueBuffer = undefined; const elems = try sema.arena.alloc(Value, vec_len); - for (elems) |*elem, i| { + for (elems, 0..) |*elem, i| { const elem_val = val.elemValueBuffer(sema.mod, i, &elem_buf); elem.* = try elem_val.bitReverse(scalar_ty, target, sema.arena); } @@ -20109,7 +20109,7 @@ fn bitOffsetOf(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!u6 .Packed => { var bit_sum: u64 = 0; const fields = ty.structFields(); - for (fields.values()) |field, i| { + for (fields.values(), 0..) |field, i| { if (i == field_index) { return bit_sum; } @@ -21046,7 +21046,7 @@ fn zirSelect(sema: *Sema, block: *Block, extended: Zir.Inst.Extended.InstData) C var buf: Value.ElemValueBuffer = undefined; const elems = try sema.gpa.alloc(Value, vec_len); - for (elems) |*elem, i| { + for (elems, 0..) |*elem, i| { const pred_elem_val = pred_val.elemValueBuffer(sema.mod, i, &buf); const should_choose_a = pred_elem_val.toBool(); if (should_choose_a) { @@ -21396,12 +21396,12 @@ fn zirBuiltinCall(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError func = bound_data.func_inst; resolved_args = try sema.arena.alloc(Air.Inst.Ref, args_ty.structFieldCount() + 1); resolved_args[0] = bound_data.arg0_inst; - for (resolved_args[1..]) |*resolved, i| { + for (resolved_args[1..], 0..) |*resolved, i| { resolved.* = try sema.tupleFieldValByIndex(block, args_src, args, @intCast(u32, i), args_ty); } } else { resolved_args = try sema.arena.alloc(Air.Inst.Ref, args_ty.structFieldCount()); - for (resolved_args) |*resolved, i| { + for (resolved_args, 0..) |*resolved, i| { resolved.* = try sema.tupleFieldValByIndex(block, args_src, args, @intCast(u32, i), args_ty); } } @@ -21556,7 +21556,7 @@ fn analyzeMinMax( var lhs_buf: Value.ElemValueBuffer = undefined; var rhs_buf: Value.ElemValueBuffer = undefined; const elems = try sema.arena.alloc(Value, vec_len); - for (elems) |*elem, i| { + for (elems, 0..) |*elem, i| { const lhs_elem_val = lhs_val.elemValueBuffer(sema.mod, i, &lhs_buf); const rhs_elem_val = rhs_val.elemValueBuffer(sema.mod, i, &rhs_buf); elem.* = opFunc(lhs_elem_val, rhs_elem_val, target); @@ -22453,7 +22453,7 @@ fn explainWhyTypeIsComptimeInner( if (ty.castTag(.@"struct")) |payload| { const struct_obj = payload.data; - for (struct_obj.fields.values()) |field, i| { + for (struct_obj.fields.values(), 0..) |field, i| { const field_src_loc = struct_obj.fieldSrcLoc(sema.mod, .{ .index = i, .range = .type, @@ -22473,7 +22473,7 @@ fn explainWhyTypeIsComptimeInner( if (ty.cast(Type.Payload.Union)) |payload| { const union_obj = payload.data; - for (union_obj.fields.values()) |field, i| { + for (union_obj.fields.values(), 0..) |field, i| { const field_src_loc = union_obj.fieldSrcLoc(sema.mod, .{ .index = i, .range = .type, @@ -23744,7 +23744,7 @@ fn structFieldPtrByIndex( comptime assert(Type.packed_struct_layout_version == 2); var running_bits: u16 = 0; - for (struct_obj.fields.values()) |f, i| { + for (struct_obj.fields.values(), 0..) |f, i| { if (!(try sema.typeHasRuntimeBits(f.ty))) continue; if (i == field_index) { @@ -26053,7 +26053,7 @@ fn coerceInMemoryAllowedFns( } }; } - for (dest_info.param_types) |dest_param_ty, i| { + for (dest_info.param_types, 0..) |dest_param_ty, i| { const src_param_ty = src_info.param_types[i]; if (dest_info.comptime_params[i] != src_info.comptime_params[i]) { @@ -26583,7 +26583,7 @@ fn beginComptimePtrMutation( // assigning `[N:S]T` to `[N]T`. This is allowed; the sentinel is omitted. assert(bytes.len >= dest_len); const elems = try arena.alloc(Value, @intCast(usize, dest_len)); - for (elems) |*elem, i| { + for (elems, 0..) |*elem, i| { elem.* = try Value.Tag.int_u64.create(arena, bytes[i]); } @@ -26612,7 +26612,7 @@ fn beginComptimePtrMutation( const dest_len = parent.ty.arrayLenIncludingSentinel(); const bytes = sema.mod.string_literal_bytes.items[str_lit.index..][0..str_lit.len]; const elems = try arena.alloc(Value, @intCast(usize, dest_len)); - for (bytes) |byte, i| { + for (bytes, 0..) |byte, i| { elems[i] = try Value.Tag.int_u64.create(arena, byte); } if (parent.ty.sentinel()) |sent_val| { @@ -27583,7 +27583,7 @@ fn coerceEnumToUnion( var msg: ?*Module.ErrorMsg = null; errdefer if (msg) |some| some.destroy(sema.gpa); - for (union_obj.fields.values()) |field, i| { + for (union_obj.fields.values(), 0..) |field, i| { if (field.ty.zigTypeTag() == .NoReturn) { const err_msg = msg orelse try sema.errMsg( block, @@ -27742,7 +27742,7 @@ fn coerceArrayLike( const element_refs = try sema.arena.alloc(Air.Inst.Ref, dest_len); var runtime_src: ?LazySrcLoc = null; - for (element_vals) |*elem, i| { + for (element_vals, 0..) |*elem, i| { const index_ref = try sema.addConstant( Type.usize, try Value.Tag.int_u64.create(sema.arena, i), @@ -27804,7 +27804,7 @@ fn coerceTupleToArray( const dest_elem_ty = dest_ty.childType(); var runtime_src: ?LazySrcLoc = null; - for (element_vals) |*elem, i_usize| { + for (element_vals, 0..) |*elem, i_usize| { const i = @intCast(u32, i_usize); if (i_usize == inst_len) { elem.* = dest_ty.sentinel().?; @@ -27933,7 +27933,7 @@ fn coerceTupleToStruct( var root_msg: ?*Module.ErrorMsg = null; errdefer if (root_msg) |msg| msg.destroy(sema.gpa); - for (field_refs) |*field_ref, i| { + for (field_refs, 0..) |*field_ref, i| { if (field_ref.* != .none) continue; const field_name = fields.keys()[i]; @@ -28031,7 +28031,7 @@ fn coerceTupleToTuple( var root_msg: ?*Module.ErrorMsg = null; errdefer if (root_msg) |msg| msg.destroy(sema.gpa); - for (field_refs) |*field_ref, i| { + for (field_refs, 0..) |*field_ref, i| { if (field_ref.* != .none) continue; const default_val = tuple_ty.structFieldDefaultValue(i); @@ -29407,7 +29407,7 @@ fn resolvePeerTypes( var seen_const = false; var convert_to_slice = false; var chosen_i: usize = 0; - for (instructions[1..]) |candidate, candidate_i| { + for (instructions[1..], 0..) |candidate, candidate_i| { const candidate_ty = sema.typeOf(candidate); const chosen_ty = sema.typeOf(chosen); @@ -30066,7 +30066,7 @@ fn resolveStructLayout(sema: *Sema, ty: Type) CompileError!void { }; struct_obj.status = .layout_wip; - for (struct_obj.fields.values()) |field, i| { + for (struct_obj.fields.values(), 0..) |field, i| { sema.resolveTypeLayout(field.ty) catch |err| switch (err) { error.AnalysisFail => { const msg = sema.err orelse return err; @@ -30104,7 +30104,7 @@ fn resolveStructLayout(sema: *Sema, ty: Type) CompileError!void { break :blk try decl_arena_allocator.alloc(u32, struct_obj.fields.count()); }; - for (struct_obj.fields.values()) |field, i| { + for (struct_obj.fields.values(), 0..) |field, i| { optimized_order[i] = if (field.ty.hasRuntimeBits()) @intCast(u32, i) else @@ -30309,7 +30309,7 @@ fn resolveUnionLayout(sema: *Sema, ty: Type) CompileError!void { }; union_obj.status = .layout_wip; - for (union_obj.fields.values()) |field, i| { + for (union_obj.fields.values(), 0..) |field, i| { sema.resolveTypeLayout(field.ty) catch |err| switch (err) { error.AnalysisFail => { const msg = sema.err orelse return err; @@ -30457,7 +30457,7 @@ pub fn resolveTypeRequiresComptime(sema: *Sema, ty: Type) CompileError!bool { .tuple, .anon_struct => { const tuple = ty.tupleFields(); - for (tuple.types) |field_ty, i| { + for (tuple.types, 0..) |field_ty, i| { const have_comptime_val = tuple.values[i].tag() != .unreachable_value; if (!have_comptime_val and try sema.resolveTypeRequiresComptime(field_ty)) { return true; @@ -30972,7 +30972,7 @@ fn semaStructFields(mod: *Module, struct_obj: *Module.Struct) CompileError!void // so that init values may depend on type layout. const bodies_index = extra_index; - for (fields) |zir_field, field_i| { + for (fields, 0..) |zir_field, field_i| { const field_ty: Type = ty: { if (zir_field.type_ref != .none) { break :ty sema.resolveType(&block_scope, .unneeded, zir_field.type_ref) catch |err| switch (err) { @@ -31094,7 +31094,7 @@ fn semaStructFields(mod: *Module, struct_obj: *Module.Struct) CompileError!void if (any_inits) { extra_index = bodies_index; - for (fields) |zir_field, field_i| { + for (fields, 0..) |zir_field, field_i| { extra_index += zir_field.type_body_len; extra_index += zir_field.align_body_len; if (zir_field.init_body_len > 0) { @@ -31814,7 +31814,7 @@ pub fn typeHasOnePossibleValue(sema: *Sema, ty: Type) CompileError!?Value { .@"struct" => { const resolved_ty = try sema.resolveTypeFields(ty); const s = resolved_ty.castTag(.@"struct").?.data; - for (s.fields.values()) |field, i| { + for (s.fields.values(), 0..) |field, i| { if (field.is_comptime) continue; if (field.ty.eql(resolved_ty, sema.mod)) { const msg = try Module.ErrorMsg.create( @@ -31835,7 +31835,7 @@ pub fn typeHasOnePossibleValue(sema: *Sema, ty: Type) CompileError!?Value { .tuple, .anon_struct => { const tuple = ty.tupleFields(); - for (tuple.values) |val, i| { + for (tuple.values, 0..) |val, i| { const is_comptime = val.tag() != .unreachable_value; if (is_comptime) continue; if ((try sema.typeHasOnePossibleValue(tuple.types[i])) != null) continue; @@ -32475,7 +32475,7 @@ pub fn typeRequiresComptime(sema: *Sema, ty: Type) CompileError!bool { .tuple, .anon_struct => { const tuple = ty.tupleFields(); - for (tuple.types) |field_ty, i| { + for (tuple.types, 0..) |field_ty, i| { const have_comptime_val = tuple.values[i].tag() != .unreachable_value; if (!have_comptime_val and try sema.typeRequiresComptime(field_ty)) { return true; @@ -32635,7 +32635,7 @@ fn anonStructFieldIndex( field_src: LazySrcLoc, ) !u32 { const anon_struct = struct_ty.castTag(.anon_struct).?.data; - for (anon_struct.names) |name, i| { + for (anon_struct.names, 0..) |name, i| { if (mem.eql(u8, name, field_name)) { return @intCast(u32, i); } @@ -32653,7 +32653,7 @@ fn queueFullTypeResolution(sema: *Sema, ty: Type) !void { fn intAdd(sema: *Sema, lhs: Value, rhs: Value, ty: Type) !Value { if (ty.zigTypeTag() == .Vector) { const result_data = try sema.arena.alloc(Value, ty.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var lhs_buf: Value.ElemValueBuffer = undefined; var rhs_buf: Value.ElemValueBuffer = undefined; const lhs_elem = lhs.elemValueBuffer(sema.mod, i, &lhs_buf); @@ -32711,7 +32711,7 @@ fn intSub( ) !Value { if (ty.zigTypeTag() == .Vector) { const result_data = try sema.arena.alloc(Value, ty.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var lhs_buf: Value.ElemValueBuffer = undefined; var rhs_buf: Value.ElemValueBuffer = undefined; const lhs_elem = lhs.elemValueBuffer(sema.mod, i, &lhs_buf); @@ -32769,7 +32769,7 @@ fn floatAdd( ) !Value { if (float_type.zigTypeTag() == .Vector) { const result_data = try sema.arena.alloc(Value, float_type.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var lhs_buf: Value.ElemValueBuffer = undefined; var rhs_buf: Value.ElemValueBuffer = undefined; const lhs_elem = lhs.elemValueBuffer(sema.mod, i, &lhs_buf); @@ -32826,7 +32826,7 @@ fn floatSub( ) !Value { if (float_type.zigTypeTag() == .Vector) { const result_data = try sema.arena.alloc(Value, float_type.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var lhs_buf: Value.ElemValueBuffer = undefined; var rhs_buf: Value.ElemValueBuffer = undefined; const lhs_elem = lhs.elemValueBuffer(sema.mod, i, &lhs_buf); @@ -32884,7 +32884,7 @@ fn intSubWithOverflow( if (ty.zigTypeTag() == .Vector) { const overflowed_data = try sema.arena.alloc(Value, ty.vectorLen()); const result_data = try sema.arena.alloc(Value, ty.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var lhs_buf: Value.ElemValueBuffer = undefined; var rhs_buf: Value.ElemValueBuffer = undefined; const lhs_elem = lhs.elemValueBuffer(sema.mod, i, &lhs_buf); @@ -32938,7 +32938,7 @@ fn floatToInt( if (float_ty.zigTypeTag() == .Vector) { const elem_ty = float_ty.childType(); const result_data = try sema.arena.alloc(Value, float_ty.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var buf: Value.ElemValueBuffer = undefined; const elem_val = val.elemValueBuffer(sema.mod, i, &buf); scalar.* = try sema.floatToIntScalar(block, src, elem_val, elem_ty, int_ty.scalarType()); @@ -33138,7 +33138,7 @@ fn intFitsInType( .aggregate => { assert(ty.zigTypeTag() == .Vector); - for (val.castTag(.aggregate).?.data) |elem, i| { + for (val.castTag(.aggregate).?.data, 0..) |elem, i| { if (!(try sema.intFitsInType(elem, ty.scalarType(), null))) { if (vector_index) |some| some.* = i; return false; @@ -33235,7 +33235,7 @@ fn intAddWithOverflow( if (ty.zigTypeTag() == .Vector) { const overflowed_data = try sema.arena.alloc(Value, ty.vectorLen()); const result_data = try sema.arena.alloc(Value, ty.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var lhs_buf: Value.ElemValueBuffer = undefined; var rhs_buf: Value.ElemValueBuffer = undefined; const lhs_elem = lhs.elemValueBuffer(sema.mod, i, &lhs_buf); @@ -33339,7 +33339,7 @@ fn compareVector( ) !Value { assert(ty.zigTypeTag() == .Vector); const result_data = try sema.arena.alloc(Value, ty.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var lhs_buf: Value.ElemValueBuffer = undefined; var rhs_buf: Value.ElemValueBuffer = undefined; const lhs_elem = lhs.elemValueBuffer(sema.mod, i, &lhs_buf); diff --git a/src/arch/aarch64/CodeGen.zig b/src/arch/aarch64/CodeGen.zig index 473a62fd83de249b197c866cae3b65d7e205ac07..5b0db307575c84de80337b33b79950a968946ab9 100644 --- a/src/arch/aarch64/CodeGen.zig +++ b/src/arch/aarch64/CodeGen.zig @@ -515,7 +515,7 @@ fn gen(self: *Self) !void { self.ret_mcv = MCValue{ .stack_offset = stack_offset }; } - for (self.args) |*arg, arg_index| { + for (self.args, 0..) |*arg, arg_index| { // Copy register arguments to the stack switch (arg.*) { .register => |reg| { @@ -1633,14 +1633,14 @@ fn allocRegs( var reused_read_arg: ?usize = null; // Lock all args which are already allocated to registers - for (read_args) |arg, i| { + for (read_args, 0..) |arg, i| { const mcv = try arg.bind.resolveToMcv(self); if (mcv == .register) { read_locks[i] = self.register_manager.lockReg(mcv.register); } } - for (write_args) |arg, i| { + for (write_args, 0..) |arg, i| { if (arg.bind == .reg) { write_locks[i] = self.register_manager.lockReg(arg.bind.reg); } @@ -1648,7 +1648,7 @@ fn allocRegs( // Allocate registers for all args which aren't allocated to // registers yet - for (read_args) |arg, i| { + for (read_args, 0..) |arg, i| { const mcv = try arg.bind.resolveToMcv(self); if (mcv == .register) { const raw_reg = mcv.register; @@ -1672,7 +1672,7 @@ fn allocRegs( const raw_reg = arg.bind.reg; arg.reg.* = self.registerAlias(raw_reg, arg.ty); } else { - reuse_operand: for (read_args) |read_arg, i| { + reuse_operand: for (read_args, 0..) |read_arg, i| { if (read_arg.bind == .inst) { const operand = read_arg.bind.inst; const mcv = try self.resolveInst(operand); @@ -1694,7 +1694,7 @@ fn allocRegs( } } } else { - for (write_args) |arg, i| { + for (write_args, 0..) |arg, i| { if (arg.bind == .reg) { const raw_reg = arg.bind.reg; arg.reg.* = self.registerAlias(raw_reg, arg.ty); @@ -1708,7 +1708,7 @@ fn allocRegs( // For all read_args which need to be moved from non-register to // register, perform the move - for (read_args) |arg, i| { + for (read_args, 0..) |arg, i| { if (reused_read_arg) |j| { // Check whether this read_arg was reused if (i == j) continue; @@ -4267,7 +4267,7 @@ fn airCall(self: *Self, inst: Air.Inst.Index, modifier: std.builtin.CallModifier // Make space for the arguments passed via the stack self.max_end_stack += info.stack_byte_count; - for (info.args) |mc_arg, arg_i| { + for (info.args, 0..) |mc_arg, arg_i| { const arg = args[arg_i]; const arg_ty = self.air.typeOf(arg); const arg_mcv = try self.resolveInst(args[arg_i]); @@ -4757,7 +4757,7 @@ fn airCondBr(self: *Self, inst: Air.Inst.Index) !void { const else_slice = else_branch.inst_table.entries.slice(); const else_keys = else_slice.items(.key); const else_values = else_slice.items(.value); - for (else_keys) |else_key, else_idx| { + for (else_keys, 0..) |else_key, else_idx| { const else_value = else_values[else_idx]; const canon_mcv = if (saved_then_branch.inst_table.fetchSwapRemove(else_key)) |then_entry| blk: { // The instruction's MCValue is overridden in both branches. @@ -4790,7 +4790,7 @@ fn airCondBr(self: *Self, inst: Air.Inst.Index) !void { const then_slice = saved_then_branch.inst_table.entries.slice(); const then_keys = then_slice.items(.key); const then_values = then_slice.items(.value); - for (then_keys) |then_key, then_idx| { + for (then_keys, 0..) |then_key, then_idx| { const then_value = then_values[then_idx]; // We already deleted the items from this table that matched the else_branch. // So these are all instructions that are only overridden in the then branch. @@ -5069,7 +5069,7 @@ fn airSwitch(self: *Self, inst: Air.Inst.Index) !void { const branch_into_prong_relocs = try self.gpa.alloc(u32, items.len); defer self.gpa.free(branch_into_prong_relocs); - for (items) |item, idx| { + for (items, 0..) |item, idx| { const cmp_result = try self.cmp(.{ .inst = pl_op.operand }, .{ .inst = item }, condition_ty, .neq); branch_into_prong_relocs[idx] = try self.condBr(cmp_result); } @@ -6373,7 +6373,7 @@ fn resolveCallingConventionValues(self: *Self, fn_ty: Type) !CallMCValues { } } - for (param_types) |ty, i| { + for (param_types, 0..) |ty, i| { const param_size = @intCast(u32, ty.abiSize(self.target.*)); if (param_size == 0) { result.args[i] = .{ .none = {} }; @@ -6438,7 +6438,7 @@ fn resolveCallingConventionValues(self: *Self, fn_ty: Type) !CallMCValues { var stack_offset: u32 = 0; - for (param_types) |ty, i| { + for (param_types, 0..) |ty, i| { if (ty.abiSize(self.target.*) > 0) { const param_size = @intCast(u32, ty.abiSize(self.target.*)); const param_alignment = ty.abiAlignment(self.target.*); diff --git a/src/arch/aarch64/Emit.zig b/src/arch/aarch64/Emit.zig index 3c2a81d5d1a74d733d5beb4fff28169672c1b32b..b2e23c6278d11ce1a6df28428faa7694c7af56e7 100644 --- a/src/arch/aarch64/Emit.zig +++ b/src/arch/aarch64/Emit.zig @@ -80,7 +80,7 @@ pub fn emitMir( try emit.lowerBranches(); // Emit machine code - for (mir_tags) |tag, index| { + for (mir_tags, 0..) |tag, index| { const inst = @intCast(u32, index); switch (tag) { .add_immediate => try emit.mirAddSubtractImmediate(inst), @@ -323,7 +323,7 @@ fn lowerBranches(emit: *Emit) !void { // // TODO optimization opportunity: do this in codegen while // generating MIR - for (mir_tags) |tag, index| { + for (mir_tags, 0..) |tag, index| { const inst = @intCast(u32, index); if (isBranch(tag)) { const target_inst = emit.branchTarget(inst); @@ -368,7 +368,7 @@ fn lowerBranches(emit: *Emit) !void { all_branches_lowered = true; var current_code_offset: usize = 0; - for (mir_tags) |tag, index| { + for (mir_tags, 0..) |tag, index| { const inst = @intCast(u32, index); // If this instruction contained in the code offset diff --git a/src/arch/arm/CodeGen.zig b/src/arch/arm/CodeGen.zig index 57a8aed69982285e7ba5b8c1ccf3e987af940ef0..0fbf1ee9846e73057f2dac5db1e83f1fa2577702 100644 --- a/src/arch/arm/CodeGen.zig +++ b/src/arch/arm/CodeGen.zig @@ -513,7 +513,7 @@ fn gen(self: *Self) !void { self.ret_mcv = MCValue{ .stack_offset = stack_offset }; } - for (self.args) |*arg, arg_index| { + for (self.args, 0..) |*arg, arg_index| { // Copy register arguments to the stack switch (arg.*) { .register => |reg| { @@ -3105,14 +3105,14 @@ fn allocRegs( var reused_read_arg: ?usize = null; // Lock all args which are already allocated to registers - for (read_args) |arg, i| { + for (read_args, 0..) |arg, i| { const mcv = try arg.bind.resolveToMcv(self); if (mcv == .register) { read_locks[i] = self.register_manager.lockReg(mcv.register); } } - for (write_args) |arg, i| { + for (write_args, 0..) |arg, i| { if (arg.bind == .reg) { write_locks[i] = self.register_manager.lockReg(arg.bind.reg); } @@ -3120,7 +3120,7 @@ fn allocRegs( // Allocate registers for all args which aren't allocated to // registers yet - for (read_args) |arg, i| { + for (read_args, 0..) |arg, i| { const mcv = try arg.bind.resolveToMcv(self); if (mcv == .register) { arg.reg.* = mcv.register; @@ -3141,7 +3141,7 @@ fn allocRegs( if (arg.bind == .reg) { arg.reg.* = arg.bind.reg; } else { - reuse_operand: for (read_args) |read_arg, i| { + reuse_operand: for (read_args, 0..) |read_arg, i| { if (read_arg.bind == .inst) { const operand = read_arg.bind.inst; const mcv = try self.resolveInst(operand); @@ -3161,7 +3161,7 @@ fn allocRegs( } } } else { - for (write_args) |arg, i| { + for (write_args, 0..) |arg, i| { if (arg.bind == .reg) { arg.reg.* = arg.bind.reg; } else { @@ -3173,7 +3173,7 @@ fn allocRegs( // For all read_args which need to be moved from non-register to // register, perform the move - for (read_args) |arg, i| { + for (read_args, 0..) |arg, i| { if (reused_read_arg) |j| { // Check whether this read_arg was reused if (i == j) continue; @@ -4217,7 +4217,7 @@ fn airCall(self: *Self, inst: Air.Inst.Index, modifier: std.builtin.CallModifier // Make space for the arguments passed via the stack self.max_end_stack += info.stack_byte_count; - for (info.args) |mc_arg, arg_i| { + for (info.args, 0..) |mc_arg, arg_i| { const arg = args[arg_i]; const arg_ty = self.air.typeOf(arg); const arg_mcv = try self.resolveInst(args[arg_i]); @@ -4669,7 +4669,7 @@ fn airCondBr(self: *Self, inst: Air.Inst.Index) !void { const else_slice = else_branch.inst_table.entries.slice(); const else_keys = else_slice.items(.key); const else_values = else_slice.items(.value); - for (else_keys) |else_key, else_idx| { + for (else_keys, 0..) |else_key, else_idx| { const else_value = else_values[else_idx]; const canon_mcv = if (saved_then_branch.inst_table.fetchSwapRemove(else_key)) |then_entry| blk: { // The instruction's MCValue is overridden in both branches. @@ -4702,7 +4702,7 @@ fn airCondBr(self: *Self, inst: Air.Inst.Index) !void { const then_slice = saved_then_branch.inst_table.entries.slice(); const then_keys = then_slice.items(.key); const then_values = then_slice.items(.value); - for (then_keys) |then_key, then_idx| { + for (then_keys, 0..) |then_key, then_idx| { const then_value = then_values[then_idx]; // We already deleted the items from this table that matched the else_branch. // So these are all instructions that are only overridden in the then branch. @@ -4991,7 +4991,7 @@ fn airSwitch(self: *Self, inst: Air.Inst.Index) !void { const branch_into_prong_relocs = try self.gpa.alloc(u32, items.len); defer self.gpa.free(branch_into_prong_relocs); - for (items) |item, idx| { + for (items, 0..) |item, idx| { const cmp_result = try self.cmp(.{ .inst = pl_op.operand }, .{ .inst = item }, condition_ty, .neq); branch_into_prong_relocs[idx] = try self.condBr(cmp_result); } @@ -6296,7 +6296,7 @@ fn resolveCallingConventionValues(self: *Self, fn_ty: Type) !CallMCValues { } } - for (param_types) |ty, i| { + for (param_types, 0..) |ty, i| { if (ty.abiAlignment(self.target.*) == 8) ncrn = std.mem.alignForwardGeneric(usize, ncrn, 2); @@ -6346,7 +6346,7 @@ fn resolveCallingConventionValues(self: *Self, fn_ty: Type) !CallMCValues { var stack_offset: u32 = 0; - for (param_types) |ty, i| { + for (param_types, 0..) |ty, i| { if (ty.abiSize(self.target.*) > 0) { const param_size = @intCast(u32, ty.abiSize(self.target.*)); const param_alignment = ty.abiAlignment(self.target.*); diff --git a/src/arch/arm/Emit.zig b/src/arch/arm/Emit.zig index fe34a28b6e3cc5544011e9be441d8b0f43979c3a..17540f09687cabe0a2ed7e244213672717bd338d 100644 --- a/src/arch/arm/Emit.zig +++ b/src/arch/arm/Emit.zig @@ -77,7 +77,7 @@ pub fn emitMir( try emit.lowerBranches(); // Emit machine code - for (mir_tags) |tag, index| { + for (mir_tags, 0..) |tag, index| { const inst = @intCast(u32, index); switch (tag) { .add => try emit.mirDataProcessing(inst), @@ -239,7 +239,7 @@ fn lowerBranches(emit: *Emit) !void { // // TODO optimization opportunity: do this in codegen while // generating MIR - for (mir_tags) |tag, index| { + for (mir_tags, 0..) |tag, index| { const inst = @intCast(u32, index); if (isBranch(tag)) { const target_inst = emit.branchTarget(inst); @@ -284,7 +284,7 @@ fn lowerBranches(emit: *Emit) !void { all_branches_lowered = true; var current_code_offset: usize = 0; - for (mir_tags) |tag, index| { + for (mir_tags, 0..) |tag, index| { const inst = @intCast(u32, index); // If this instruction contained in the code offset diff --git a/src/arch/arm/bits.zig b/src/arch/arm/bits.zig index af7fb301b92d25b88d603d547bbdf42219794344..8e76ae9409b1cb6b6cfcddae62be535b081bb732 100644 --- a/src/arch/arm/bits.zig +++ b/src/arch/arm/bits.zig @@ -452,11 +452,11 @@ pub const Instruction = union(enum) { const masks = comptime blk: { const base_mask: u32 = std.math.maxInt(u8); var result = [_]u32{0} ** 16; - for (result) |*mask, i| mask.* = std.math.rotr(u32, base_mask, 2 * i); + for (&result, 0..) |*mask, i| mask.* = std.math.rotr(u32, base_mask, 2 * i); break :blk result; }; - return for (masks) |mask, i| { + return for (masks, 0..) |mask, i| { if (x & mask == x) { break Operand{ .immediate = .{ diff --git a/src/arch/riscv64/CodeGen.zig b/src/arch/riscv64/CodeGen.zig index 8b8fca48593af63593c0a9690bf5106c5da25d59..b97ac727c1bafe8efdfdc697e58ca8c50ea838c5 100644 --- a/src/arch/riscv64/CodeGen.zig +++ b/src/arch/riscv64/CodeGen.zig @@ -1689,7 +1689,7 @@ fn airCall(self: *Self, inst: Air.Inst.Index, modifier: std.builtin.CallModifier // Due to incremental compilation, how function calls are generated depends // on linking. if (self.bin_file.cast(link.File.Elf)) |elf_file| { - for (info.args) |mc_arg, arg_i| { + for (info.args, 0..) |mc_arg, arg_i| { const arg = args[arg_i]; const arg_ty = self.air.typeOf(arg); const arg_mcv = try self.resolveInst(args[arg_i]); @@ -2727,7 +2727,7 @@ fn resolveCallingConventionValues(self: *Self, fn_ty: Type) !CallMCValues { var next_stack_offset: u32 = 0; const argument_registers = [_]Register{ .a0, .a1, .a2, .a3, .a4, .a5, .a6, .a7 }; - for (param_types) |ty, i| { + for (param_types, 0..) |ty, i| { const param_size = @intCast(u32, ty.abiSize(self.target.*)); if (param_size <= 8) { if (next_register < argument_registers.len) { diff --git a/src/arch/riscv64/Emit.zig b/src/arch/riscv64/Emit.zig index 4b2dad49816f8cdedbb42e6a1313f63a316405cc..387c7358969674ff33560a9b075d3a6c8e99ff7c 100644 --- a/src/arch/riscv64/Emit.zig +++ b/src/arch/riscv64/Emit.zig @@ -38,7 +38,7 @@ pub fn emitMir( const mir_tags = emit.mir.instructions.items(.tag); // Emit machine code - for (mir_tags) |tag, index| { + for (mir_tags, 0..) |tag, index| { const inst = @intCast(u32, index); switch (tag) { .add => try emit.mirRType(inst), diff --git a/src/arch/sparc64/CodeGen.zig b/src/arch/sparc64/CodeGen.zig index 418c67c5807bfd253d03059f60b551c699c5caa7..8344b6e0cc5b4b2d441d1129e0f93819acb9a4d4 100644 --- a/src/arch/sparc64/CodeGen.zig +++ b/src/arch/sparc64/CodeGen.zig @@ -1189,7 +1189,7 @@ fn airCall(self: *Self, inst: Air.Inst.Index, modifier: std.builtin.CallModifier try self.register_manager.getReg(reg, null); } - for (info.args) |mc_arg, arg_i| { + for (info.args, 0..) |mc_arg, arg_i| { const arg = args[arg_i]; const arg_ty = self.air.typeOf(arg); const arg_mcv = try self.resolveInst(arg); @@ -1450,7 +1450,7 @@ fn airCondBr(self: *Self, inst: Air.Inst.Index) !void { const else_slice = else_branch.inst_table.entries.slice(); const else_keys = else_slice.items(.key); const else_values = else_slice.items(.value); - for (else_keys) |else_key, else_idx| { + for (else_keys, 0..) |else_key, else_idx| { const else_value = else_values[else_idx]; const canon_mcv = if (saved_then_branch.inst_table.fetchSwapRemove(else_key)) |then_entry| blk: { // The instruction's MCValue is overridden in both branches. @@ -1484,7 +1484,7 @@ fn airCondBr(self: *Self, inst: Air.Inst.Index) !void { const then_slice = saved_then_branch.inst_table.entries.slice(); const then_keys = then_slice.items(.key); const then_values = then_slice.items(.value); - for (then_keys) |then_key, then_idx| { + for (then_keys, 0..) |then_key, then_idx| { const then_value = then_values[then_idx]; // We already deleted the items from this table that matched the else_branch. // So these are all instructions that are only overridden in the then branch. @@ -4363,7 +4363,7 @@ fn resolveCallingConventionValues(self: *Self, fn_ty: Type, role: RegisterView) .callee => abi.c_abi_int_param_regs_callee_view, }; - for (param_types) |ty, i| { + for (param_types, 0..) |ty, i| { const param_size = @intCast(u32, ty.abiSize(self.target.*)); if (param_size <= 8) { if (next_register < argument_registers.len) { diff --git a/src/arch/sparc64/Emit.zig b/src/arch/sparc64/Emit.zig index 8500f338ecbb0953fa6852814e5d8bcc293e05e4..7e71492af7fbd2ccb5897a25cb711cf2763a811a 100644 --- a/src/arch/sparc64/Emit.zig +++ b/src/arch/sparc64/Emit.zig @@ -69,7 +69,7 @@ pub fn emitMir( try emit.lowerBranches(); // Emit machine code - for (mir_tags) |tag, index| { + for (mir_tags, 0..) |tag, index| { const inst = @intCast(u32, index); switch (tag) { .dbg_line => try emit.mirDbgLine(inst), @@ -513,7 +513,7 @@ fn lowerBranches(emit: *Emit) !void { // // TODO optimization opportunity: do this in codegen while // generating MIR - for (mir_tags) |tag, index| { + for (mir_tags, 0..) |tag, index| { const inst = @intCast(u32, index); if (isBranch(tag)) { const target_inst = emit.branchTarget(inst); @@ -558,7 +558,7 @@ fn lowerBranches(emit: *Emit) !void { all_branches_lowered = true; var current_code_offset: usize = 0; - for (mir_tags) |tag, index| { + for (mir_tags, 0..) |tag, index| { const inst = @intCast(u32, index); // If this instruction contained in the code offset diff --git a/src/arch/wasm/CodeGen.zig b/src/arch/wasm/CodeGen.zig index 7ce6a0482b9f1c69a9f712f3aeabf3d9f3b8405f..53dc28626cd01b6d05e3440eaaf6d9682ed957c6 100644 --- a/src/arch/wasm/CodeGen.zig +++ b/src/arch/wasm/CodeGen.zig @@ -1255,7 +1255,7 @@ fn genFunc(func: *CodeGen) InnerError!void { // reserve space and insert all prologue instructions at the front of the instruction list // We insert them in reserve order as there is no insertSlice in multiArrayList. try func.mir_instructions.ensureUnusedCapacity(func.gpa, prologue.items.len); - for (prologue.items) |_, index| { + for (prologue.items, 0..) |_, index| { const inst = prologue.items[prologue.items.len - 1 - index]; func.mir_instructions.insertAssumeCapacity(0, inst); } @@ -3117,7 +3117,7 @@ fn mergeBranch(func: *CodeGen, branch: *const Branch) !void { const target_values = target_slice.items(.value); try parent.values.ensureUnusedCapacity(func.gpa, branch.values.count()); - for (target_keys) |key, index| { + for (target_keys, 0..) |key, index| { // TODO: process deaths from branches parent.values.putAssumeCapacity(key, target_values[index]); } @@ -3501,7 +3501,7 @@ fn airSwitchBr(func: *CodeGen, inst: Air.Inst.Index) InnerError!void { const values = try func.gpa.alloc(CaseValue, items.len); errdefer func.gpa.free(values); - for (items) |ref, i| { + for (items, 0..) |ref, i| { const item_val = func.air.value(ref).?; const int_val = func.valueAsI32(item_val, target_ty); if (lowest_maybe == null or int_val < lowest_maybe.?) { @@ -3561,7 +3561,7 @@ fn airSwitchBr(func: *CodeGen, inst: Air.Inst.Index) InnerError!void { while (value <= highest) : (value += 1) { // idx represents the branch we jump to const idx = blk: { - for (case_list.items) |case, idx| { + for (case_list.items, 0..) |case, idx| { for (case.values) |case_value| { if (case_value.integer == value) break :blk @intCast(u32, idx); } @@ -3588,7 +3588,7 @@ fn airSwitchBr(func: *CodeGen, inst: Air.Inst.Index) InnerError!void { }; try func.branches.ensureUnusedCapacity(func.gpa, case_list.items.len + @boolToInt(has_else_body)); - for (case_list.items) |case, index| { + for (case_list.items, 0..) |case, index| { // when sparse, we use if/else-chain, so emit conditional checks if (is_sparse) { // for single value prong we can emit a simple if @@ -4558,7 +4558,7 @@ fn airAggregateInit(func: *CodeGen, inst: Air.Inst.Index) InnerError!void { // copy stack pointer into a temporary local, which is // moved for each element to store each value in the right position. const offset = try func.buildPointerOffset(result, 0, .new); - for (elements) |elem, elem_index| { + for (elements, 0..) |elem, elem_index| { const elem_val = try func.resolveInst(elem); try func.store(offset, elem_val, elem_ty, 0); @@ -4587,7 +4587,7 @@ fn airAggregateInit(func: *CodeGen, inst: Air.Inst.Index) InnerError!void { // we ensure a new local is created so it's zero-initialized const result = try func.ensureAllocLocal(backing_type); var current_bit: u16 = 0; - for (elements) |elem, elem_index| { + for (elements, 0..) |elem, elem_index| { const field = fields[elem_index]; if (!field.ty.hasRuntimeBitsIgnoreComptime()) continue; @@ -4623,7 +4623,7 @@ fn airAggregateInit(func: *CodeGen, inst: Air.Inst.Index) InnerError!void { else => { const result = try func.allocStack(result_ty); const offset = try func.buildPointerOffset(result, 0, .new); // pointer to offset - for (elements) |elem, elem_index| { + for (elements, 0..) |elem, elem_index| { if (result_ty.structFieldValueComptime(elem_index) != null) continue; const elem_ty = result_ty.structFieldType(elem_index); @@ -6149,7 +6149,7 @@ fn callIntrinsic( } else WValue{ .none = {} }; // Lower all arguments to the stack before we call our function - for (args) |arg, arg_i| { + for (args, 0..) |arg, arg_i| { assert(!(want_sret_param and arg == .stack)); assert(param_types[arg_i].hasRuntimeBitsIgnoreComptime()); try func.lowerArg(.C, param_types[arg_i], arg); diff --git a/src/arch/wasm/Emit.zig b/src/arch/wasm/Emit.zig index a340ac5da8b5837bb76850dea7b37aef32a84374..7d44d3622f73ea7f914e9eb51df63cf1a40d8ecc 100644 --- a/src/arch/wasm/Emit.zig +++ b/src/arch/wasm/Emit.zig @@ -44,7 +44,7 @@ pub fn emitMir(emit: *Emit) InnerError!void { // before we emit the function body when lowering MIR try emit.emitLocals(); - for (mir_tags) |tag, index| { + for (mir_tags, 0..) |tag, index| { const inst = @intCast(u32, index); switch (tag) { // block instructions diff --git a/src/arch/x86_64/CodeGen.zig b/src/arch/x86_64/CodeGen.zig index c11ea4e63e2c5059d4dd051f8eac6b21c608f1c1..f63d80486e050196d526d636c09d213c075dd12a 100644 --- a/src/arch/x86_64/CodeGen.zig +++ b/src/arch/x86_64/CodeGen.zig @@ -186,7 +186,7 @@ const Branch = struct { _ = options; comptime assert(unused_format_string.len == 0); try writer.writeAll("Branch {\n"); - for (ctx.insts) |inst, i| { + for (ctx.insts, 0..) |inst, i| { const mcv = ctx.mcvs[i]; try writer.print(" %{d} => {}\n", .{ inst, mcv }); } @@ -3951,7 +3951,7 @@ fn airCall(self: *Self, inst: Air.Inst.Index, modifier: std.builtin.CallModifier }; defer if (ret_reg_lock) |lock| self.register_manager.unlockReg(lock); - for (args) |arg, arg_i| { + for (args, 0..) |arg, arg_i| { const mc_arg = info.args[arg_i]; const arg_ty = self.air.typeOf(arg); const arg_mcv = try self.resolveInst(args[arg_i]); @@ -4912,7 +4912,7 @@ fn airSwitch(self: *Self, inst: Air.Inst.Index) !void { var relocs = try self.gpa.alloc(u32, items.len); defer self.gpa.free(relocs); - for (items) |item, item_i| { + for (items, 0..) |item, item_i| { const item_mcv = try self.resolveInst(item); relocs[item_i] = try self.genCondSwitchMir(condition_ty, condition, item_mcv); } @@ -4974,7 +4974,7 @@ fn airSwitch(self: *Self, inst: Air.Inst.Index) !void { for (self.branch_stack.items) |bs| { log.debug("{}", .{bs.fmtDebug()}); } - for (branch_stack.items) |bs, i| { + for (branch_stack.items, 0..) |bs, i| { log.debug("Case-{d} branch: {}", .{ i, bs.fmtDebug() }); } @@ -4999,7 +4999,7 @@ fn canonicaliseBranches(self: *Self, parent_branch: *Branch, canon_branch: *Bran const target_keys = target_slice.items(.key); const target_values = target_slice.items(.value); - for (target_keys) |target_key, target_idx| { + for (target_keys, 0..) |target_key, target_idx| { const target_value = target_values[target_idx]; const canon_mcv = if (canon_branch.inst_table.fetchSwapRemove(target_key)) |canon_entry| blk: { // The instruction's MCValue is overridden in both branches. @@ -5032,7 +5032,7 @@ fn canonicaliseBranches(self: *Self, parent_branch: *Branch, canon_branch: *Bran const canon_slice = canon_branch.inst_table.entries.slice(); const canon_keys = canon_slice.items(.key); const canon_values = canon_slice.items(.value); - for (canon_keys) |canon_key, canon_idx| { + for (canon_keys, 0..) |canon_key, canon_idx| { const canon_value = canon_values[canon_idx]; // We already deleted the items from this table that matched the target_branch. // So these are all instructions that are only overridden in the canon branch. @@ -6571,7 +6571,7 @@ fn airAggregateInit(self: *Self, inst: Air.Inst.Index) !void { switch (result_ty.zigTypeTag()) { .Struct => { const stack_offset = @intCast(i32, try self.allocMem(inst, abi_size, abi_align)); - for (elements) |elem, elem_i| { + for (elements, 0..) |elem, elem_i| { if (result_ty.structFieldValueComptime(elem_i) != null) continue; // comptime elem const elem_ty = result_ty.structFieldType(elem_i); @@ -6586,7 +6586,7 @@ fn airAggregateInit(self: *Self, inst: Air.Inst.Index) !void { const elem_ty = result_ty.childType(); const elem_size = @intCast(u32, elem_ty.abiSize(self.target.*)); - for (elements) |elem, elem_i| { + for (elements, 0..) |elem, elem_i| { const elem_mcv = try self.resolveInst(elem); const elem_off = @intCast(i32, elem_size * elem_i); try self.genSetStack(elem_ty, stack_offset - elem_off, elem_mcv, .{}); @@ -6963,7 +6963,7 @@ fn resolveCallingConventionValues(self: *Self, fn_ty: Type) !CallMCValues { else => 0, }; - for (param_types) |ty, i| { + for (param_types, 0..) |ty, i| { assert(ty.hasRuntimeBits()); const classes: []const abi.Class = switch (self.target.os.tag) { @@ -7039,7 +7039,7 @@ fn resolveCallingConventionValues(self: *Self, fn_ty: Type) !CallMCValues { else => 0, }; - for (param_types) |ty, i| { + for (param_types, 0..) |ty, i| { if (!ty.hasRuntimeBits()) { result.args[i] = .{ .none = {} }; continue; diff --git a/src/arch/x86_64/Emit.zig b/src/arch/x86_64/Emit.zig index c4f9b4eb4237a0665f7259fb360ea53d120b6df6..12c19915c664ac9cbb4fe6115cbc72d338fa7f4b 100644 --- a/src/arch/x86_64/Emit.zig +++ b/src/arch/x86_64/Emit.zig @@ -61,7 +61,7 @@ const Reloc = struct { pub fn lowerMir(emit: *Emit) InnerError!void { const mir_tags = emit.mir.instructions.items(.tag); - for (mir_tags) |tag, index| { + for (mir_tags, 0..) |tag, index| { const inst = @intCast(u32, index); try emit.code_offset_mapping.putNoClobber(emit.bin_file.allocator, inst, emit.code.items.len); switch (tag) { @@ -1544,7 +1544,7 @@ const OpCode = struct { fn init(comptime in_bytes: []const u8) OpCode { comptime assert(in_bytes.len <= 3); comptime var bytes: [3]u8 = undefined; - inline for (in_bytes) |x, i| { + inline for (in_bytes, 0..) |x, i| { bytes[i] = x; } return .{ .bytes = bytes, .count = in_bytes.len }; diff --git a/src/arch/x86_64/Mir.zig b/src/arch/x86_64/Mir.zig index df2052ca6e46e2d1443a8c4052e0cb6e89877032..112d9a5982b9e869a55ae3f67b2ac7ed654ad9f7 100644 --- a/src/arch/x86_64/Mir.zig +++ b/src/arch/x86_64/Mir.zig @@ -535,7 +535,7 @@ pub const RegisterList = struct { const Self = @This(); fn getIndexForReg(registers: []const Register, reg: Register) BitSet.MaskInt { - for (registers) |cpreg, i| { + for (registers, 0..) |cpreg, i| { if (reg.id() == cpreg.id()) return @intCast(u32, i); } unreachable; // register not in input register list! diff --git a/src/arch/x86_64/abi.zig b/src/arch/x86_64/abi.zig index 35ac3dcb55c1714bf118a6fc999f8a5112f58ffe..193efa6dc47480ea49a0a7910967d621d77f4168 100644 --- a/src/arch/x86_64/abi.zig +++ b/src/arch/x86_64/abi.zig @@ -335,7 +335,7 @@ pub fn classifySystemV(ty: Type, target: Target, ctx: Context) [8]Class { // "If one of the classes is MEMORY, the whole argument is passed in memory" // "If X87UP is not preceded by X87, the whole argument is passed in memory." var found_sseup = false; - for (result) |item, i| switch (item) { + for (result, 0..) |item, i| switch (item) { .memory => return memory_class, .x87up => if (i == 0 or result[i - 1] != .x87) return memory_class, .sseup => found_sseup = true, @@ -347,7 +347,7 @@ pub fn classifySystemV(ty: Type, target: Target, ctx: Context) [8]Class { if (ty_size > 16 and (result[0] != .sse or !found_sseup)) return memory_class; // "If SSEUP is not preceded by SSE or SSEUP, it is converted to SSE." - for (result) |*item, i| { + for (&result, 0..) |*item, i| { if (item.* == .sseup) switch (result[i - 1]) { .sse, .sseup => continue, else => item.* = .sse, @@ -379,7 +379,7 @@ pub fn classifySystemV(ty: Type, target: Target, ctx: Context) [8]Class { } // Combine this field with the previous one. const field_class = classifySystemV(field.ty, target, .other); - for (result) |*result_item, i| { + for (&result, 0..) |*result_item, i| { const field_item = field_class[i]; // "If both classes are equal, this is the resulting class." if (result_item.* == field_item) { @@ -431,7 +431,7 @@ pub fn classifySystemV(ty: Type, target: Target, ctx: Context) [8]Class { // "If one of the classes is MEMORY, the whole argument is passed in memory" // "If X87UP is not preceded by X87, the whole argument is passed in memory." var found_sseup = false; - for (result) |item, i| switch (item) { + for (result, 0..) |item, i| switch (item) { .memory => return memory_class, .x87up => if (i == 0 or result[i - 1] != .x87) return memory_class, .sseup => found_sseup = true, @@ -443,7 +443,7 @@ pub fn classifySystemV(ty: Type, target: Target, ctx: Context) [8]Class { if (ty_size > 16 and (result[0] != .sse or !found_sseup)) return memory_class; // "If SSEUP is not preceded by SSE or SSEUP, it is converted to SSE." - for (result) |*item, i| { + for (&result, 0..) |*item, i| { if (item.* == .sseup) switch (result[i - 1]) { .sse, .sseup => continue, else => item.* = .sse, diff --git a/src/codegen.zig b/src/codegen.zig index c0a04765b0381bce86f2d063f38a892bfde1975e..9eea1c667dfdea8f904da4d1b1bcfd4048c843b6 100644 --- a/src/codegen.zig +++ b/src/codegen.zig @@ -511,7 +511,7 @@ pub fn generateSymbol( try code.resize(current_pos + abi_size); var bits: u16 = 0; - for (field_vals) |field_val, index| { + for (field_vals, 0..) |field_val, index| { const field_ty = fields[index].ty; // pointer may point to a decl which must be marked used // but can also result in a relocation. Therefore we handle those seperately. @@ -537,7 +537,7 @@ pub fn generateSymbol( const struct_begin = code.items.len; const field_vals = typed_value.val.castTag(.aggregate).?.data; - for (field_vals) |field_val, index| { + for (field_vals, 0..) |field_val, index| { const field_ty = typed_value.ty.structFieldType(index); if (!field_ty.hasRuntimeBits()) continue; diff --git a/src/codegen/c.zig b/src/codegen/c.zig index 2f721e1b4b2eb52e8a4539f64b16c41f2e21dfdd..0beb00b23628bd8bcad32207a57df143e146bf7f 100644 --- a/src/codegen/c.zig +++ b/src/codegen/c.zig @@ -253,7 +253,7 @@ fn formatIdent( if (solo and isReservedIdent(ident)) { try writer.writeAll("zig_e_"); } - for (ident) |c, i| { + for (ident, 0..) |c, i| { switch (c) { 'a'...'z', 'A'...'Z', '_' => try writer.writeByte(c), '.' => try writer.writeByte('_'), @@ -361,7 +361,7 @@ pub const Function = struct { _ = mutability; if (f.getFreeLocals().getPtrContext(ty, f.tyHashCtx())) |locals_list| { - for (locals_list.items) |local_index, i| { + for (locals_list.items, 0..) |local_index, i| { const local = &f.locals.items[local_index]; if (local.alignment >= alignment) { local.loop_depth = @intCast(LoopDepth, f.free_locals_stack.items.len - 1); @@ -1283,7 +1283,7 @@ pub const DeclGen = struct { try writer.writeByte('{'); var empty = true; - for (field_vals) |field_val, field_index| { + for (field_vals, 0..) |field_val, field_index| { const field_ty = ty.structFieldType(field_index); if (!field_ty.hasRuntimeBits()) continue; @@ -1309,7 +1309,7 @@ pub const DeclGen = struct { const bit_offset_val = Value.initPayload(&bit_offset_val_pl.base); var eff_num_fields: usize = 0; - for (field_vals) |_, index| { + for (field_vals, 0..) |_, index| { const field_ty = ty.structFieldType(index); if (!field_ty.hasRuntimeBitsIgnoreComptime()) continue; @@ -1331,7 +1331,7 @@ pub const DeclGen = struct { var eff_index: usize = 0; var needs_closing_paren = false; - for (field_vals) |field_val, index| { + for (field_vals, 0..) |field_val, index| { const field_ty = ty.structFieldType(index); if (!field_ty.hasRuntimeBitsIgnoreComptime()) continue; @@ -1359,7 +1359,7 @@ pub const DeclGen = struct { try writer.writeByte('('); // a << a_off | b << b_off | c << c_off var empty = true; - for (field_vals) |field_val, index| { + for (field_vals, 0..) |field_val, index| { const field_ty = ty.structFieldType(index); if (!field_ty.hasRuntimeBitsIgnoreComptime()) continue; @@ -1719,7 +1719,7 @@ pub const DeclGen = struct { { const fields = t.tupleFields(); var field_id: usize = 0; - for (fields.types) |field_ty, i| { + for (fields.types, 0..) |field_ty, i| { if (!field_ty.hasRuntimeBits() or fields.values[i].tag() != .unreachable_value) continue; try buffer.append(' '); @@ -2130,7 +2130,7 @@ pub const DeclGen = struct { try tuple_storage.ensureTotalCapacity(allocator, t.structFieldCount()); const fields = t.tupleFields(); - for (fields.values) |value, index| + for (fields.values, 0..) |value, index| if (value.tag() == .unreachable_value) tuple_storage.appendAssumeCapacity(.{ .type = fields.types[index], @@ -2415,7 +2415,7 @@ pub const DeclGen = struct { const name_end = buffer.items.len - "(".len; try dg.renderTypeAndName(bw, enum_ty, .{ .identifier = "tag" }, .Const, 0, .Complete); try buffer.appendSlice(") {\n switch (tag) {\n"); - for (enum_ty.enumFields().keys()) |name, index| { + for (enum_ty.enumFields().keys(), 0..) |name, index| { const name_z = try dg.typedefs.allocator.dupeZ(u8, name); defer dg.typedefs.allocator.free(name_z); const name_bytes = name_z[0 .. name_z.len + 1]; @@ -2681,7 +2681,7 @@ pub fn genErrDecls(o: *Object) !void { try writer.writeAll("enum {\n"); o.indent_writer.pushIndent(); var max_name_len: usize = 0; - for (o.dg.module.error_name_list.items) |name, value| { + for (o.dg.module.error_name_list.items, 0..) |name, value| { max_name_len = std.math.max(name.len, max_name_len); var err_pl = Value.Payload.Error{ .data = .{ .name = name } }; try o.dg.renderValue(writer, Type.anyerror, Value.initPayload(&err_pl.base), .Other); @@ -2724,7 +2724,7 @@ pub fn genErrDecls(o: *Object) !void { try writer.writeAll("static "); try o.dg.renderTypeAndName(writer, name_array_ty, .{ .identifier = name_prefix }, .Const, 0, .Complete); try writer.writeAll(" = {"); - for (o.dg.module.error_name_list.items) |name, value| { + for (o.dg.module.error_name_list.items, 0..) |name, value| { if (value != 0) try writer.writeByte(','); var len_pl = Value.Payload.U64{ .base = .{ .tag = .int_u64 }, .data = name.len }; @@ -2742,7 +2742,7 @@ fn genExports(o: *Object) !void { defer tracy.end(); const fwd_decl_writer = o.dg.fwd_decl.writer(); - if (o.dg.module.decl_exports.get(o.dg.decl_index)) |exports| for (exports.items[1..]) |@"export", i| { + if (o.dg.module.decl_exports.get(o.dg.decl_index)) |exports| for (exports.items[1..], 0..) |@"export", i| { try fwd_decl_writer.writeAll("zig_export("); try o.dg.renderFunctionSignature(fwd_decl_writer, .Forward, @intCast(u32, 1 + i)); try fwd_decl_writer.print(", {s}, {s});\n", .{ @@ -2800,7 +2800,7 @@ pub fn genFunc(f: *Function) !void { // alignment, descending. const free_locals = f.getFreeLocals(); const values = f.allocs.values(); - for (f.allocs.keys()) |local_index, i| { + for (f.allocs.keys(), 0..) |local_index, i| { if (values[i]) continue; // static const local = f.locals.items[local_index]; log.debug("inserting local {d} into free_locals", .{local_index}); @@ -4238,7 +4238,7 @@ fn airCall( const resolved_args = try gpa.alloc(CValue, args.len); defer gpa.free(resolved_args); - for (args) |arg, i| { + for (args, 0..) |arg, i| { resolved_args[i] = try f.resolveInst(arg); } @@ -4303,7 +4303,7 @@ fn airCall( try writer.writeByte('('); var args_written: usize = 0; - for (args) |arg, arg_i| { + for (args, 0..) |arg, arg_i| { const ty = f.air.typeOf(arg); if (!ty.hasRuntimeBitsIgnoreComptime()) continue; if (args_written != 0) { @@ -5043,7 +5043,7 @@ fn airAsm(f: *Function, inst: Air.Inst.Index) !CValue { extra_i = constraints_extra_begin; var locals_index = locals_begin; try writer.writeByte(':'); - for (outputs) |output, index| { + for (outputs, 0..) |output, index| { const extra_bytes = std.mem.sliceAsBytes(f.air.extra[extra_i..]); const constraint = std.mem.sliceTo(extra_bytes, 0); const name = std.mem.sliceTo(extra_bytes[constraint.len + 1 ..], 0); @@ -5067,7 +5067,7 @@ fn airAsm(f: *Function, inst: Air.Inst.Index) !CValue { try writer.writeByte(')'); } try writer.writeByte(':'); - for (inputs) |input, index| { + for (inputs, 0..) |input, index| { const extra_bytes = std.mem.sliceAsBytes(f.air.extra[extra_i..]); const constraint = std.mem.sliceTo(extra_bytes, 0); const name = std.mem.sliceTo(extra_bytes[constraint.len + 1 ..], 0); @@ -5426,7 +5426,7 @@ fn structFieldPtr(f: *Function, inst: Air.Inst.Index, struct_ptr_ty: Type, struc }; const field_loc = switch (struct_ty.tag()) { .@"struct" => switch (struct_ty.containerLayout()) { - .Auto, .Extern => for (struct_ty.structFields().values()[index..]) |field, offset| { + .Auto, .Extern => for (struct_ty.structFields().values()[index..], 0..) |field, offset| { if (field.ty.hasRuntimeBitsIgnoreComptime()) break FieldLoc{ .field = .{ .identifier = struct_ty.structFieldName(index + offset), } }; @@ -5469,7 +5469,7 @@ fn structFieldPtr(f: *Function, inst: Air.Inst.Index, struct_ptr_ty: Type, struc if (tuple.values[index].tag() != .unreachable_value) return CValue.none; var id: usize = 0; - break :field_name for (tuple.values) |value, i| { + break :field_name for (tuple.values, 0..) |value, i| { if (value.tag() != .unreachable_value) continue; if (!tuple.types[i].hasRuntimeBitsIgnoreComptime()) continue; if (i >= index) break FieldLoc{ .field = .{ .field = id } }; @@ -6687,7 +6687,7 @@ fn airAggregateInit(f: *Function, inst: Air.Inst.Index) !CValue { const gpa = f.object.dg.gpa; const resolved_elements = try gpa.alloc(CValue, elements.len); defer gpa.free(resolved_elements); - for (elements) |element, i| { + for (elements, 0..) |element, i| { resolved_elements[i] = try f.resolveInst(element); } { @@ -6706,7 +6706,7 @@ fn airAggregateInit(f: *Function, inst: Air.Inst.Index) !CValue { switch (inst_ty.zigTypeTag()) { .Array, .Vector => { const elem_ty = inst_ty.childType(); - for (resolved_elements) |element, i| { + for (resolved_elements, 0..) |element, i| { try f.writeCValue(writer, local, .Other); try writer.print("[{d}] = ", .{i}); try f.writeCValue(writer, element, .Other); @@ -6727,7 +6727,7 @@ fn airAggregateInit(f: *Function, inst: Air.Inst.Index) !CValue { try writer.writeAll(")"); try writer.writeByte('{'); var empty = true; - for (elements) |element, index| { + for (elements, 0..) |element, index| { if (inst_ty.structFieldValueComptime(index)) |_| continue; if (!empty) try writer.writeAll(", "); @@ -6746,7 +6746,7 @@ fn airAggregateInit(f: *Function, inst: Air.Inst.Index) !CValue { try writer.writeAll("};\n"); var field_id: usize = 0; - for (elements) |element, index| { + for (elements, 0..) |element, index| { if (inst_ty.structFieldValueComptime(index)) |_| continue; const element_ty = f.air.typeOf(element); @@ -6784,7 +6784,7 @@ fn airAggregateInit(f: *Function, inst: Air.Inst.Index) !CValue { const bit_offset_val = Value.initPayload(&bit_offset_val_pl.base); var empty = true; - for (elements) |_, index| { + for (elements, 0..) |_, index| { const field_ty = inst_ty.structFieldType(index); if (!field_ty.hasRuntimeBitsIgnoreComptime()) continue; @@ -6796,7 +6796,7 @@ fn airAggregateInit(f: *Function, inst: Air.Inst.Index) !CValue { empty = false; } empty = true; - for (resolved_elements) |element, index| { + for (resolved_elements, 0..) |element, index| { const field_ty = inst_ty.structFieldType(index); if (!field_ty.hasRuntimeBitsIgnoreComptime()) continue; @@ -7608,7 +7608,7 @@ fn deinitFreeLocalsMap(gpa: mem.Allocator, map: *LocalsMap) void { } fn noticeBranchFrees(f: *Function, pre_locals_len: LocalIndex, inst: Air.Inst.Index) !void { - for (f.locals.items[pre_locals_len..]) |*local, local_offset| { + for (f.locals.items[pre_locals_len..], 0..) |*local, local_offset| { const local_index = pre_locals_len + @intCast(LocalIndex, local_offset); if (f.allocs.contains(local_index)) continue; // allocs are not freeable diff --git a/src/codegen/llvm.zig b/src/codegen/llvm.zig index 8c6943bfdb95100e51f41057c499be084afddc70..aa794827a858cbcc903ce85a398232dfe778505f 100644 --- a/src/codegen/llvm.zig +++ b/src/codegen/llvm.zig @@ -600,7 +600,7 @@ pub const Object = struct { defer mod.gpa.free(llvm_errors); llvm_errors[0] = llvm_slice_ty.getUndef(); - for (llvm_errors[1..]) |*llvm_error, i| { + for (llvm_errors[1..], 0..) |*llvm_error, i| { const name = error_name_list[1..][i]; const str_init = self.context.constString(name.ptr, @intCast(c_uint, name.len), .False); const str_global = self.llvm_module.addGlobal(str_init.typeOf(), ""); @@ -691,7 +691,7 @@ pub const Object = struct { object.extern_collisions.clearRetainingCapacity(); const export_keys = mod.decl_exports.keys(); - for (mod.decl_exports.values()) |export_list, i| { + for (mod.decl_exports.values(), 0..) |export_list, i| { const decl_index = export_keys[i]; const llvm_global = object.decl_map.get(decl_index) orelse continue; for (export_list.items) |exp| { @@ -1076,7 +1076,7 @@ pub const Object = struct { const param_alignment = param_ty.abiAlignment(target); const arg_ptr = buildAllocaInner(dg.context, builder, llvm_func, false, param_llvm_ty, param_alignment, target); const llvm_ty = dg.context.structType(field_types.ptr, @intCast(c_uint, field_types.len), .False); - for (field_types) |_, field_i_usize| { + for (field_types, 0..) |_, field_i_usize| { const field_i = @intCast(c_uint, field_i_usize); const param = llvm_func.getParam(llvm_arg_i); llvm_arg_i += 1; @@ -1495,7 +1495,7 @@ pub const Object = struct { const int_info = ty.intInfo(target); assert(int_info.bits != 0); - for (field_names) |field_name, i| { + for (field_names, 0..) |field_name, i| { const field_name_z = try gpa.dupeZ(u8, field_name); defer gpa.free(field_name_z); @@ -1992,7 +1992,7 @@ pub const Object = struct { comptime assert(struct_layout_version == 2); var offset: u64 = 0; - for (tuple.types) |field_ty, i| { + for (tuple.types, 0..) |field_ty, i| { const field_val = tuple.values[i]; if (field_val.tag() != .unreachable_value or !field_ty.hasRuntimeBits()) continue; @@ -2921,7 +2921,7 @@ pub const DeclGen = struct { var offset: u64 = 0; var big_align: u32 = 0; - for (tuple.types) |field_ty, i| { + for (tuple.types, 0..) |field_ty, i| { const field_val = tuple.values[i]; if (field_val.tag() != .unreachable_value or !field_ty.hasRuntimeBits()) continue; @@ -3432,7 +3432,7 @@ pub const DeclGen = struct { const llvm_elems = try gpa.alloc(*llvm.Value, len); defer gpa.free(llvm_elems); var need_unnamed = false; - for (elem_vals[0..len]) |elem_val, i| { + for (elem_vals[0..len], 0..) |elem_val, i| { llvm_elems[i] = try dg.lowerValue(.{ .ty = elem_ty, .val = elem_val }); need_unnamed = need_unnamed or dg.isUnnamedType(elem_ty, llvm_elems[i]); } @@ -3618,7 +3618,7 @@ pub const DeclGen = struct { var big_align: u32 = 0; var need_unnamed = false; - for (tuple.types) |field_ty, i| { + for (tuple.types, 0..) |field_ty, i| { if (tuple.values[i].tag() != .unreachable_value) continue; if (!field_ty.hasRuntimeBitsIgnoreComptime()) continue; @@ -3680,7 +3680,7 @@ pub const DeclGen = struct { comptime assert(Type.packed_struct_layout_version == 2); var running_int: *llvm.Value = int_llvm_ty.constNull(); var running_bits: u16 = 0; - for (field_vals) |field_val, i| { + for (field_vals, 0..) |field_val, i| { const field = fields[i]; if (!field.ty.hasRuntimeBitsIgnoreComptime()) continue; @@ -3855,7 +3855,7 @@ pub const DeclGen = struct { const elem_ty = tv.ty.elemType(); const llvm_elems = try dg.gpa.alloc(*llvm.Value, vector_len); defer dg.gpa.free(llvm_elems); - for (llvm_elems) |*elem, i| { + for (llvm_elems, 0..) |*elem, i| { var byte_payload: Value.Payload.U64 = .{ .base = .{ .tag = .int_u64 }, .data = bytes[i], @@ -3880,7 +3880,7 @@ pub const DeclGen = struct { const elem_ty = tv.ty.elemType(); const llvm_elems = try dg.gpa.alloc(*llvm.Value, vector_len); defer dg.gpa.free(llvm_elems); - for (llvm_elems) |*elem, i| { + for (llvm_elems, 0..) |*elem, i| { elem.* = try dg.lowerValue(.{ .ty = elem_ty, .val = elem_vals[i] }); } return llvm.constVector( @@ -3913,7 +3913,7 @@ pub const DeclGen = struct { const elem_ty = tv.ty.elemType(); const llvm_elems = try dg.gpa.alloc(*llvm.Value, vector_len); defer dg.gpa.free(llvm_elems); - for (llvm_elems) |*elem, i| { + for (llvm_elems, 0..) |*elem, i| { var byte_payload: Value.Payload.U64 = .{ .base = .{ .tag = .int_u64 }, .data = bytes[i], @@ -4479,7 +4479,7 @@ pub const FuncGen = struct { fn genBody(self: *FuncGen, body: []const Air.Inst.Index) Error!void { const air_tags = self.air.instructions.items(.tag); - for (body) |inst, i| { + for (body, 0..) |inst, i| { const opt_value: ?*llvm.Value = switch (air_tags[inst]) { // zig fmt: off .add => try self.airAdd(inst, false), @@ -4852,7 +4852,7 @@ pub const FuncGen = struct { const llvm_ty = self.context.structType(llvm_types.ptr, @intCast(c_uint, llvm_types.len), .False); try llvm_args.ensureUnusedCapacity(it.llvm_types_len); - for (llvm_types) |field_ty, i_usize| { + for (llvm_types, 0..) |field_ty, i_usize| { const i = @intCast(c_uint, i_usize); const field_ptr = self.builder.buildStructGEP(llvm_ty, arg_ptr, i, ""); const load_inst = self.builder.buildLoad(field_ty, field_ptr, ""); @@ -6250,7 +6250,7 @@ pub const FuncGen = struct { var name_map: std.StringArrayHashMapUnmanaged(u16) = .{}; try name_map.ensureUnusedCapacity(arena, max_param_count); - for (outputs) |output, i| { + for (outputs, 0..) |output, i| { const extra_bytes = std.mem.sliceAsBytes(self.air.extra[extra_i..]); const constraint = std.mem.sliceTo(std.mem.sliceAsBytes(self.air.extra[extra_i..]), 0); const name = std.mem.sliceTo(extra_bytes[constraint.len + 1 ..], 0); @@ -6435,7 +6435,7 @@ pub const FuncGen = struct { var name_start: usize = undefined; var modifier_start: usize = undefined; - for (asm_source) |byte, i| { + for (asm_source, 0..) |byte, i| { switch (state) { .start => switch (byte) { '%' => state = .percent, @@ -6526,7 +6526,7 @@ pub const FuncGen = struct { .Auto, "", ); - for (llvm_param_attrs[0..param_count]) |llvm_elem_ty, i| { + for (llvm_param_attrs[0..param_count], 0..) |llvm_elem_ty, i| { if (llvm_elem_ty) |llvm_ty| { llvm.setCallElemTypeAttr(call, i, llvm_ty); } @@ -6534,7 +6534,7 @@ pub const FuncGen = struct { var ret_val = call; llvm_ret_i = 0; - for (outputs) |output, i| { + for (outputs, 0..) |output, i| { if (llvm_ret_indirect[i]) continue; const output_value = if (return_count > 1) b: { @@ -7416,7 +7416,7 @@ pub const FuncGen = struct { const index_i32 = llvm_i32.constInt(i, .False); var args: [3]*llvm.Value = undefined; - for (args_vectors) |arg_vector, k| { + for (args_vectors, 0..) |arg_vector, k| { args[k] = self.builder.buildExtractElement(arg_vector, index_i32, ""); } const result_elem = self.builder.buildCall(llvm_fn.globalGetValueType(), llvm_fn, &args, args_len, .C, .Auto, ""); @@ -8785,7 +8785,7 @@ pub const FuncGen = struct { const tag_int_value = fn_val.getParam(0); const switch_instr = self.builder.buildSwitch(tag_int_value, unnamed_block, @intCast(c_uint, fields.count())); - for (fields.keys()) |_, field_index| { + for (fields.keys(), 0..) |_, field_index| { const this_tag_int_value = int: { var tag_val_payload: Value.Payload.U32 = .{ .base = .{ .tag = .enum_field_index }, @@ -8874,7 +8874,7 @@ pub const FuncGen = struct { usize_llvm_ty.constNull(), usize_llvm_ty.constNull(), }; - for (fields.keys()) |name, field_index| { + for (fields.keys(), 0..) |name, field_index| { const str_init = self.context.constString(name.ptr, @intCast(c_uint, name.len), .False); const str_init_llvm_ty = str_init.typeOf(); const str_global = self.dg.object.llvm_module.addGlobal(str_init_llvm_ty, ""); @@ -8998,7 +8998,7 @@ pub const FuncGen = struct { const llvm_i32 = self.context.intType(32); - for (values) |*val, i| { + for (values, 0..) |*val, i| { var buf: Value.ElemValueBuffer = undefined; const elem = mask.elemValueBuffer(self.dg.module, i, &buf); if (elem.isUndef()) { @@ -9180,7 +9180,7 @@ pub const FuncGen = struct { const llvm_u32 = self.context.intType(32); var vector = llvm_result_ty.getUndef(); - for (elements) |elem, i| { + for (elements, 0..) |elem, i| { const index_u32 = llvm_u32.constInt(i, .False); const llvm_elem = try self.resolveInst(elem); vector = self.builder.buildInsertElement(vector, llvm_elem, index_u32, ""); @@ -9197,7 +9197,7 @@ pub const FuncGen = struct { comptime assert(Type.packed_struct_layout_version == 2); var running_int: *llvm.Value = int_llvm_ty.constNull(); var running_bits: u16 = 0; - for (elements) |elem, i| { + for (elements, 0..) |elem, i| { const field = fields[i]; if (!field.ty.hasRuntimeBitsIgnoreComptime()) continue; @@ -9229,7 +9229,7 @@ pub const FuncGen = struct { const alloca_inst = self.buildAlloca(llvm_result_ty, result_ty.abiAlignment(target)); var indices: [2]*llvm.Value = .{ llvm_u32.constNull(), undefined }; - for (elements) |elem, i| { + for (elements, 0..) |elem, i| { if (result_ty.structFieldValueComptime(i) != null) continue; const llvm_elem = try self.resolveInst(elem); @@ -9250,7 +9250,7 @@ pub const FuncGen = struct { return alloca_inst; } else { var result = llvm_result_ty.getUndef(); - for (elements) |elem, i| { + for (elements, 0..) |elem, i| { if (result_ty.structFieldValueComptime(i) != null) continue; const llvm_elem = try self.resolveInst(elem); @@ -9275,7 +9275,7 @@ pub const FuncGen = struct { }; const elem_ptr_ty = Type.initPayload(&elem_ptr_payload.base); - for (elements) |elem, i| { + for (elements, 0..) |elem, i| { const indices: [2]*llvm.Value = .{ llvm_usize.constNull(), llvm_usize.constInt(@intCast(c_uint, i), .False), @@ -9914,7 +9914,7 @@ pub const FuncGen = struct { }; const array_elements = [_]*llvm.Value{ request, a1, a2, a3, a4, a5 }; const zero = usize_llvm_ty.constInt(0, .False); - for (array_elements) |elem, i| { + for (array_elements, 0..) |elem, i| { const indexes = [_]*llvm.Value{ zero, usize_llvm_ty.constInt(@intCast(c_uint, i), .False), }; @@ -10327,7 +10327,7 @@ fn llvmFieldIndex( if (ty.isSimpleTupleOrAnonStruct()) { const tuple = ty.tupleFields(); var llvm_field_index: c_uint = 0; - for (tuple.types) |field_ty, i| { + for (tuple.types, 0..) |field_ty, i| { if (tuple.values[i].tag() != .unreachable_value or !field_ty.hasRuntimeBits()) continue; const field_align = field_ty.abiAlignment(target); @@ -10938,7 +10938,7 @@ fn isByRef(ty: Type) bool { if (ty.isSimpleTupleOrAnonStruct()) { const tuple = ty.tupleFields(); var count: usize = 0; - for (tuple.values) |field_val, i| { + for (tuple.values, 0..) |field_val, i| { if (field_val.tag() != .unreachable_value or !tuple.types[i].hasRuntimeBits()) continue; count += 1; diff --git a/src/codegen/spirv.zig b/src/codegen/spirv.zig index c5a3d57d07343c6b6c1a4d2731123935f96c7e3d..5f27c14e9512d2ea21bc5c8ec2ac93f9b12f0700 100644 --- a/src/codegen/spirv.zig +++ b/src/codegen/spirv.zig @@ -418,7 +418,7 @@ pub const DeclGen = struct { const elem_refs = try self.gpa.alloc(IdRef, vector_len); defer self.gpa.free(elem_refs); - for (elem_refs) |*elem, i| { + for (elem_refs, 0..) |*elem, i| { elem.* = try self.genConstant(elem_ty, elem_vals[i]); } try section.emit(self.spv.gpa, .OpConstantComposite, .{ @@ -498,7 +498,7 @@ pub const DeclGen = struct { return self.fail("VarArgs functions are unsupported for SPIR-V", .{}); const param_types = try self.spv.arena.alloc(SpvType.Ref, ty.fnParamLen()); - for (param_types) |*param, i| { + for (param_types, 0..) |*param, i| { param.* = try self.resolveType(ty.fnParamType(i)); } diff --git a/src/codegen/spirv/Assembler.zig b/src/codegen/spirv/Assembler.zig index fc4ab406b945624c6d8260f26d155504a63aa4f7..6e77818fa51034795f7459cbc8e6ea61f63df9a8 100644 --- a/src/codegen/spirv/Assembler.zig +++ b/src/codegen/spirv/Assembler.zig @@ -392,7 +392,7 @@ fn processTypeInstruction(self: *Assembler) !AsmValue { .OpTypeFunction => blk: { const param_operands = operands[2..]; const param_types = try self.spv.arena.alloc(SpvType.Ref, param_operands.len); - for (param_types) |*param, i| { + for (param_types, 0..) |*param, i| { param.* = try self.resolveTypeRef(param_operands[i].ref_id); } const payload = try self.spv.arena.create(SpvType.Payload.Function); diff --git a/src/codegen/spirv/Module.zig b/src/codegen/spirv/Module.zig index f37b04bff3771e4a118f1d312d91a2c661905d27..3562e87be49b3223c772d8e13d9c4209bf1be3c1 100644 --- a/src/codegen/spirv/Module.zig +++ b/src/codegen/spirv/Module.zig @@ -161,7 +161,7 @@ pub fn flush(self: Module, file: std.fs.File) !void { var iovc_buffers: [buffers.len]std.os.iovec_const = undefined; var file_size: u64 = 0; - for (iovc_buffers) |*iovc, i| { + for (&iovc_buffers, 0..) |*iovc, i| { // Note, since spir-v supports both little and big endian we can ignore byte order here and // just treat the words as a sequence of bytes. const bytes = std.mem.sliceAsBytes(buffers[i]); @@ -389,7 +389,7 @@ fn decorateStruct(self: *Module, target: IdRef, info: *const Type.Payload.Struct // Decorations for the struct members. const extra = info.member_decoration_extra; var extra_i: u32 = 0; - for (info.members) |member, i| { + for (info.members, 0..) |member, i| { const d = member.decorations; const index = @intCast(Word, i); switch (d.matrix_layout) { diff --git a/src/codegen/spirv/Section.zig b/src/codegen/spirv/Section.zig index 83f594dceffb422a51cf174868728fef5e9d9124..a76314f5fadd28e2530e9e57777631eb47937a3e 100644 --- a/src/codegen/spirv/Section.zig +++ b/src/codegen/spirv/Section.zig @@ -195,7 +195,7 @@ fn writeContextDependentNumber(section: *Section, operand: spec.LiteralContextDe fn writeExtendedMask(section: *Section, comptime Operand: type, operand: Operand) void { var mask: Word = 0; - inline for (@typeInfo(Operand).Struct.fields) |field, bit| { + inline for (@typeInfo(Operand).Struct.fields, 0..) |field, bit| { switch (@typeInfo(field.type)) { .Optional => if (@field(operand, field.name) != null) { mask |= 1 << @intCast(u5, bit); diff --git a/src/codegen/spirv/type.zig b/src/codegen/spirv/type.zig index 6cc1b8f3bdb773830b74ff9d838b23a79eb2af4f..dc993b62ffb2c262a98d72c9829edb66130bb109 100644 --- a/src/codegen/spirv/type.zig +++ b/src/codegen/spirv/type.zig @@ -98,7 +98,7 @@ pub const Type = extern union { const struct_b = b.payload(.@"struct"); if (struct_a.members.len != struct_b.members.len) return false; - for (struct_a.members) |mem_a, i| { + for (struct_a.members, 0..) |mem_a, i| { if (!std.meta.eql(mem_a, struct_b.members[i])) return false; } diff --git a/src/glibc.zig b/src/glibc.zig index 2a2887c334ecdb331c1a6705467d614263bf7674..3021e7c7ba2d3228a0c6af7fd12dd954f46410f0 100644 --- a/src/glibc.zig +++ b/src/glibc.zig @@ -698,7 +698,7 @@ pub fn buildSharedObjects(comp: *Compilation) !void { const metadata = try loadMetaData(comp.gpa, abilists_contents); defer metadata.destroy(comp.gpa); - const target_targ_index = for (metadata.all_targets) |targ, i| { + const target_targ_index = for (metadata.all_targets, 0..) |targ, i| { if (targ.arch == target.cpu.arch and targ.os == target.os.tag and targ.abi == target.abi) @@ -709,7 +709,7 @@ pub fn buildSharedObjects(comp: *Compilation) !void { unreachable; // target_util.available_libcs prevents us from getting here }; - const target_ver_index = for (metadata.all_versions) |ver, i| { + const target_ver_index = for (metadata.all_versions, 0..) |ver, i| { switch (ver.order(target_version)) { .eq => break i, .lt => continue, @@ -743,7 +743,7 @@ pub fn buildSharedObjects(comp: *Compilation) !void { var stubs_asm = std.ArrayList(u8).init(comp.gpa); defer stubs_asm.deinit(); - for (libs) |lib, lib_i| { + for (libs, 0..) |lib, lib_i| { stubs_asm.shrinkRetainingCapacity(0); try stubs_asm.appendSlice(".text\n"); diff --git a/src/libc_installation.zig b/src/libc_installation.zig index 0a50f970123fbf2298cdf3666a1e7d6a59130e20..da877e129106c86255a752e1afb46f8f22cfd422 100644 --- a/src/libc_installation.zig +++ b/src/libc_installation.zig @@ -66,7 +66,7 @@ pub const LibCInstallation = struct { var line_it = std.mem.split(u8, line, "="); const name = line_it.first(); const value = line_it.rest(); - inline for (fields) |field, i| { + inline for (fields, 0..) |field, i| { if (std.mem.eql(u8, name, field.name)) { found_keys[i].found = true; if (value.len == 0) { @@ -79,7 +79,7 @@ pub const LibCInstallation = struct { } } } - inline for (fields) |field, i| { + inline for (fields, 0..) |field, i| { if (!found_keys[i].found) { log.err("missing field: {s}\n", .{field.name}); return error.ParseError; @@ -640,7 +640,7 @@ fn printVerboseInvocation( } else { std.debug.print("Zig attempted to find the path to native system libc headers by executing this command:\n", .{}); } - for (argv) |arg, i| { + for (argv, 0..) |arg, i| { if (i != 0) std.debug.print(" ", .{}); std.debug.print("{s}", .{arg}); } diff --git a/src/libunwind.zig b/src/libunwind.zig index 56113d135518d24c0e41b29f3b665f231047e10d..a20b5e81f734bb1c8307d665080ec820cbc7c31f 100644 --- a/src/libunwind.zig +++ b/src/libunwind.zig @@ -34,7 +34,7 @@ pub fn buildStaticLib(comp: *Compilation) !void { .basename = basename, }; var c_source_files: [unwind_src_list.len]Compilation.CSourceFile = undefined; - for (unwind_src_list) |unwind_src, i| { + for (unwind_src_list, 0..) |unwind_src, i| { var cflags = std.ArrayList([]const u8).init(arena); switch (Compilation.classifyFileExt(unwind_src)) { diff --git a/src/link/Coff.zig b/src/link/Coff.zig index 2922e783e1e3d690eb7516043522c5f20b806910..c0ac7e0b88df05d90d8cace2c17a246064c77b8f 100644 --- a/src/link/Coff.zig +++ b/src/link/Coff.zig @@ -486,7 +486,7 @@ fn growSectionVM(self: *Coff, sect_id: u32, needed_size: u32) !void { // TODO: enforce order by increasing VM addresses in self.sections container. // This is required by the loader anyhow as far as I can tell. - for (self.sections.items(.header)[sect_id + 1 ..]) |*next_header, next_sect_id| { + for (self.sections.items(.header)[sect_id + 1 ..], 0..) |*next_header, next_sect_id| { const maybe_last_atom_index = self.sections.items(.last_atom_index)[sect_id + 1 + next_sect_id]; next_header.virtual_address += diff; @@ -2191,7 +2191,7 @@ fn logSymtab(self: *Coff) void { log.debug("symtab:", .{}); log.debug(" object(null)", .{}); - for (self.locals.items) |*sym, sym_id| { + for (self.locals.items, 0..) |*sym, sym_id| { const where = if (sym.section_number == .UNDEFINED) "ord" else "sect"; const def_index: u16 = switch (sym.section_number) { .UNDEFINED => 0, // TODO @@ -2216,7 +2216,7 @@ fn logSymtab(self: *Coff) void { } log.debug("GOT entries:", .{}); - for (self.got_entries.items) |entry, i| { + for (self.got_entries.items, 0..) |entry, i| { const got_sym = self.getSymbol(.{ .sym_index = entry.sym_index, .file = null }); const target_sym = self.getSymbol(entry.target); if (target_sym.section_number == .UNDEFINED) { diff --git a/src/link/Dwarf.zig b/src/link/Dwarf.zig index a3d0aa8a5337e7a8a12536b211430ffeb5fd9ed5..3fb6de7b73d611ac9c89d9dda5832bc6864bbf53 100644 --- a/src/link/Dwarf.zig +++ b/src/link/Dwarf.zig @@ -339,7 +339,7 @@ pub const DeclState = struct { try dbg_info_buffer.writer().print("{}\x00", .{ty.fmt(module)}); const fields = ty.tupleFields(); - for (fields.types) |field, field_index| { + for (fields.types, 0..) |field, field_index| { // DW.AT.member try dbg_info_buffer.append(@enumToInt(AbbrevKind.struct_member)); // DW.AT.name, DW.FORM.string @@ -367,7 +367,7 @@ pub const DeclState = struct { } const fields = ty.structFields(); - for (fields.keys()) |field_name, field_index| { + for (fields.keys(), 0..) |field_name, field_index| { const field = fields.get(field_name).?; if (!field.ty.hasRuntimeBits()) continue; // DW.AT.member @@ -409,7 +409,7 @@ pub const DeclState = struct { .enum_numbered => ty.castTag(.enum_numbered).?.data.values, else => unreachable, }; - for (fields.keys()) |field_name, field_i| { + for (fields.keys(), 0..) |field_name, field_i| { // DW.AT.enumerator try dbg_info_buffer.ensureUnusedCapacity(field_name.len + 2 + @sizeOf(u64)); dbg_info_buffer.appendAssumeCapacity(@enumToInt(AbbrevKind.enum_variant)); @@ -2252,14 +2252,14 @@ pub fn writeDbgLineHeader(self: *Dwarf) !void { 1, // `DW.LNS.set_isa` }); - for (paths.dirs) |dir, i| { + for (paths.dirs, 0..) |dir, i| { log.debug("adding new include dir at {d} of '{s}'", .{ i + 1, dir }); di_buf.appendSliceAssumeCapacity(dir); di_buf.appendAssumeCapacity(0); } di_buf.appendAssumeCapacity(0); // include directories sentinel - for (paths.files) |file, i| { + for (paths.files, 0..) |file, i| { const dir_index = paths.files_dirs_indexes[i]; log.debug("adding new file name at {d} of '{s}' referencing directory {d}", .{ i + 1, file, dir_index + 1 }); di_buf.appendSliceAssumeCapacity(file); diff --git a/src/link/Elf.zig b/src/link/Elf.zig index d936a347cfae5a6e452532f9800ad4672a738210..1a9d594c56674d9c51e0d0c74cb54370d7de4e33 100644 --- a/src/link/Elf.zig +++ b/src/link/Elf.zig @@ -1126,7 +1126,7 @@ pub fn flushModule(self: *Elf, comp: *Compilation, prog_node: *std.Progress.Node const buf = try gpa.alloc(elf.Elf32_Phdr, self.program_headers.items.len); defer gpa.free(buf); - for (buf) |*phdr, i| { + for (buf, 0..) |*phdr, i| { phdr.* = progHeaderTo32(self.program_headers.items[i]); if (foreign_endian) { mem.byteSwapAllFields(elf.Elf32_Phdr, phdr); @@ -1138,7 +1138,7 @@ pub fn flushModule(self: *Elf, comp: *Compilation, prog_node: *std.Progress.Node const buf = try gpa.alloc(elf.Elf64_Phdr, self.program_headers.items.len); defer gpa.free(buf); - for (buf) |*phdr, i| { + for (buf, 0..) |*phdr, i| { phdr.* = self.program_headers.items[i]; if (foreign_endian) { mem.byteSwapAllFields(elf.Elf64_Phdr, phdr); @@ -1193,7 +1193,7 @@ pub fn flushModule(self: *Elf, comp: *Compilation, prog_node: *std.Progress.Node const buf = try gpa.alloc(elf.Elf32_Shdr, slice.len); defer gpa.free(buf); - for (buf) |*shdr, i| { + for (buf, 0..) |*shdr, i| { shdr.* = sectHeaderTo32(slice.items(.shdr)[i]); log.debug("writing section {?s}: {}", .{ self.shstrtab.get(shdr.sh_name), shdr.* }); if (foreign_endian) { @@ -1207,7 +1207,7 @@ pub fn flushModule(self: *Elf, comp: *Compilation, prog_node: *std.Progress.Node const buf = try gpa.alloc(elf.Elf64_Shdr, slice.len); defer gpa.free(buf); - for (buf) |*shdr, i| { + for (buf, 0..) |*shdr, i| { shdr.* = slice.items(.shdr)[i]; log.debug("writing section {?s}: {}", .{ self.shstrtab.get(shdr.sh_name), shdr.* }); if (foreign_endian) { @@ -1732,7 +1732,7 @@ fn linkWithLLD(self: *Elf, comp: *Compilation, prog_node: *std.Progress.Node) !v argv.appendAssumeCapacity("--as-needed"); var as_needed = true; - for (system_libs) |link_lib, i| { + for (system_libs, 0..) |link_lib, i| { const lib_as_needed = !system_libs_values[i].needed; switch ((@as(u2, @boolToInt(lib_as_needed)) << 1) | @boolToInt(as_needed)) { 0b00, 0b11 => {}, @@ -2909,7 +2909,7 @@ fn writeAllGlobalSymbols(self: *Elf) !void { const buf = try self.base.allocator.alloc(elf.Elf32_Sym, self.global_symbols.items.len); defer self.base.allocator.free(buf); - for (buf) |*sym, i| { + for (buf, 0..) |*sym, i| { const global = self.global_symbols.items[i]; sym.* = .{ .st_name = global.st_name, @@ -2929,7 +2929,7 @@ fn writeAllGlobalSymbols(self: *Elf) !void { const buf = try self.base.allocator.alloc(elf.Elf64_Sym, self.global_symbols.items.len); defer self.base.allocator.free(buf); - for (buf) |*sym, i| { + for (buf, 0..) |*sym, i| { const global = self.global_symbols.items[i]; sym.* = .{ .st_name = global.st_name, @@ -3238,11 +3238,11 @@ const CsuObjects = struct { fn logSymtab(self: Elf) void { log.debug("locals:", .{}); - for (self.local_symbols.items) |sym, id| { + for (self.local_symbols.items, 0..) |sym, id| { log.debug(" {d}: {?s}: @{x} in {d}", .{ id, self.shstrtab.get(sym.st_name), sym.st_value, sym.st_shndx }); } log.debug("globals:", .{}); - for (self.global_symbols.items) |sym, id| { + for (self.global_symbols.items, 0..) |sym, id| { log.debug(" {d}: {?s}: @{x} in {d}", .{ id, self.shstrtab.get(sym.st_name), sym.st_value, sym.st_shndx }); } } diff --git a/src/link/MachO.zig b/src/link/MachO.zig index 35f5f1b5625d14d0f696779649f8d2bad598661b..7c1d4776af78082a24c44eac4ff39b03029454ee 100644 --- a/src/link/MachO.zig +++ b/src/link/MachO.zig @@ -962,7 +962,7 @@ pub fn parseLibs( syslibroot: ?[]const u8, dependent_libs: anytype, ) !void { - for (lib_names) |lib, i| { + for (lib_names, 0..) |lib, i| { const lib_info = lib_infos[i]; log.debug("parsing lib path '{s}'", .{lib}); if (try self.parseDylib(lib, dependent_libs, .{ @@ -1584,7 +1584,7 @@ pub fn resolveSymbolsInDylibs(self: *MachO) !void { const sym = self.getSymbolPtr(global); const sym_name = self.getSymbolName(global); - for (self.dylibs.items) |dylib, id| { + for (self.dylibs.items, 0..) |dylib, id| { if (!dylib.symbols.contains(sym_name)) continue; const dylib_id = @intCast(u16, id); @@ -1686,7 +1686,7 @@ pub fn resolveDyldStubBinder(self: *MachO) !void { gop.value_ptr.* = sym_loc; const global = gop.value_ptr.*; - for (self.dylibs.items) |dylib, id| { + for (self.dylibs.items, 0..) |dylib, id| { if (!dylib.symbols.contains(sym_name)) continue; const dylib_id = @intCast(u16, id); @@ -2852,7 +2852,7 @@ fn moveSectionInVirtualMemory(self: *MachO, sect_id: u8, needed_size: u64) !void }); // TODO: enforce order by increasing VM addresses in self.sections container. - for (self.sections.items(.header)[sect_id + 1 ..]) |*next_header, next_sect_id| { + for (self.sections.items(.header)[sect_id + 1 ..], 0..) |*next_header, next_sect_id| { const index = @intCast(u8, sect_id + 1 + next_sect_id); const next_segment = self.getSegmentPtr(index); next_header.addr += diff; @@ -3082,7 +3082,7 @@ pub fn initSection(self: *MachO, segname: []const u8, sectname: []const u8, opts fn insertSection(self: *MachO, segment_index: u8, header: macho.section_64) !u8 { const precedence = getSectionPrecedence(header); const indexes = self.getSectionIndexes(segment_index); - const insertion_index = for (self.sections.items(.header)[indexes.start..indexes.end]) |hdr, i| { + const insertion_index = for (self.sections.items(.header)[indexes.start..indexes.end], 0..) |hdr, i| { if (getSectionPrecedence(hdr) > precedence) break @intCast(u8, i + indexes.start); } else indexes.end; log.debug("inserting section '{s},{s}' at index {d}", .{ @@ -3133,7 +3133,7 @@ pub fn getGlobalSymbol(self: *MachO, name: []const u8) !u32 { } fn writeSegmentHeaders(self: *MachO, writer: anytype) !void { - for (self.segments.items) |seg, i| { + for (self.segments.items, 0..) |seg, i| { const indexes = self.getSectionIndexes(@intCast(u8, i)); try writer.writeStruct(seg); for (self.sections.items(.header)[indexes.start..indexes.end]) |header| { @@ -3147,7 +3147,7 @@ fn writeLinkeditSegmentData(self: *MachO) !void { seg.filesize = 0; seg.vmsize = 0; - for (self.segments.items) |segment, id| { + for (self.segments.items, 0..) |segment, id| { if (self.linkedit_segment_cmd_index.? == @intCast(u8, id)) continue; if (seg.vmaddr < segment.vmaddr + segment.vmsize) { seg.vmaddr = mem.alignForwardGeneric(u64, segment.vmaddr + segment.vmsize, self.page_size); @@ -3167,7 +3167,7 @@ fn collectRebaseData(self: *MachO, rebase: *Rebase) !void { const gpa = self.base.allocator; const slice = self.sections.slice(); - for (self.rebases.keys()) |atom_index, i| { + for (self.rebases.keys(), 0..) |atom_index, i| { const atom = self.getAtom(atom_index); log.debug(" ATOM(%{?d}, '{s}')", .{ atom.getSymbolIndex(), atom.getName(self) }); @@ -3197,7 +3197,7 @@ fn collectBindData(self: *MachO, bind: anytype, raw_bindings: anytype) !void { const gpa = self.base.allocator; const slice = self.sections.slice(); - for (raw_bindings.keys()) |atom_index, i| { + for (raw_bindings.keys(), 0..) |atom_index, i| { const atom = self.getAtom(atom_index); log.debug(" ATOM(%{?d}, '{s}')", .{ atom.getSymbolIndex(), atom.getName(self) }); @@ -3417,7 +3417,7 @@ fn writeSymtab(self: *MachO) !SymtabCtx { var locals = std.ArrayList(macho.nlist_64).init(gpa); defer locals.deinit(); - for (self.locals.items) |sym, sym_id| { + for (self.locals.items, 0..) |sym, sym_id| { if (sym.n_strx == 0) continue; // no name, skip const sym_loc = SymbolWithLoc{ .sym_index = @intCast(u32, sym_id), .file = null }; if (self.symbolIsTemp(sym_loc)) continue; // local temp symbol, skip @@ -3736,7 +3736,7 @@ pub fn makeStaticString(bytes: []const u8) [16]u8 { } fn getSegmentByName(self: MachO, segname: []const u8) ?u8 { - for (self.segments.items) |seg, i| { + for (self.segments.items, 0..) |seg, i| { if (mem.eql(u8, segname, seg.segName())) return @intCast(u8, i); } else return null; } @@ -3758,7 +3758,7 @@ pub fn getLinkeditSegmentPtr(self: *MachO) *macho.segment_command_64 { pub fn getSectionByName(self: MachO, segname: []const u8, sectname: []const u8) ?u8 { // TODO investigate caching with a hashmap - for (self.sections.items(.header)) |header, i| { + for (self.sections.items(.header), 0..) |header, i| { if (mem.eql(u8, header.segName(), segname) and mem.eql(u8, header.sectName(), sectname)) return @intCast(u8, i); } else return null; @@ -3766,7 +3766,7 @@ pub fn getSectionByName(self: MachO, segname: []const u8, sectname: []const u8) pub fn getSectionIndexes(self: MachO, segment_index: u8) struct { start: u8, end: u8 } { var start: u8 = 0; - const nsects = for (self.segments.items) |seg, i| { + const nsects = for (self.segments.items, 0..) |seg, i| { if (i == segment_index) break @intCast(u8, seg.nsects); start += @intCast(u8, seg.nsects); } else 0; @@ -4160,7 +4160,7 @@ pub fn findFirst(comptime T: type, haystack: []align(1) const T, start: usize, p pub fn logSections(self: *MachO) void { log.debug("sections:", .{}); - for (self.sections.items(.header)) |header, i| { + for (self.sections.items(.header), 0..) |header, i| { log.debug(" sect({d}): {s},{s} @{x}, sizeof({x})", .{ i + 1, header.segName(), @@ -4197,7 +4197,7 @@ pub fn logSymtab(self: *MachO) void { var buf: [4]u8 = undefined; log.debug("symtab:", .{}); - for (self.locals.items) |sym, sym_id| { + for (self.locals.items, 0..) |sym, sym_id| { const where = if (sym.undf() and !sym.tentative()) "ord" else "sect"; const def_index = if (sym.undf() and !sym.tentative()) @divTrunc(sym.n_desc, macho.N_SYMBOL_RESOLVER) @@ -4220,7 +4220,7 @@ pub fn logSymtab(self: *MachO) void { } log.debug("GOT entries:", .{}); - for (self.got_entries.items) |entry, i| { + for (self.got_entries.items, 0..) |entry, i| { const atom_sym = entry.getSymbol(self); const target_sym = self.getSymbol(entry.target); if (target_sym.undf()) { @@ -4241,7 +4241,7 @@ pub fn logSymtab(self: *MachO) void { } log.debug("stubs entries:", .{}); - for (self.stubs.items) |entry, i| { + for (self.stubs.items, 0..) |entry, i| { const target_sym = self.getSymbol(entry.target); const atom_sym = entry.getSymbol(self); assert(target_sym.undf()); @@ -4257,7 +4257,7 @@ pub fn logAtoms(self: *MachO) void { log.debug("atoms:", .{}); const slice = self.sections.slice(); - for (slice.items(.last_atom_index)) |last_atom_index, i| { + for (slice.items(.last_atom_index), 0..) |last_atom_index, i| { var atom_index = last_atom_index orelse continue; const header = slice.items(.header)[i]; diff --git a/src/link/MachO/DebugSymbols.zig b/src/link/MachO/DebugSymbols.zig index 0a5c8b03724ecc3284719fc1640071e27268f227..1f41fc1cb8f85e87846f60ab0857c641b81c5cfd 100644 --- a/src/link/MachO/DebugSymbols.zig +++ b/src/link/MachO/DebugSymbols.zig @@ -383,7 +383,7 @@ fn finalizeDwarfSegment(self: *DebugSymbols, macho_file: *MachO) void { fn writeSegmentHeaders(self: *DebugSymbols, macho_file: *MachO, writer: anytype) !void { // Write segment/section headers from the binary file first. const end = macho_file.linkedit_segment_cmd_index.?; - for (macho_file.segments.items[0..end]) |seg, i| { + for (macho_file.segments.items[0..end], 0..) |seg, i| { const indexes = macho_file.getSectionIndexes(@intCast(u8, i)); var out_seg = seg; out_seg.fileoff = 0; @@ -412,7 +412,7 @@ fn writeSegmentHeaders(self: *DebugSymbols, macho_file: *MachO, writer: anytype) } } // Next, commit DSYM's __LINKEDIT and __DWARF segments headers. - for (self.segments.items) |seg, i| { + for (self.segments.items, 0..) |seg, i| { const indexes = self.getSectionIndexes(@intCast(u8, i)); try writer.writeStruct(seg); for (self.sections.items[indexes.start..indexes.end]) |header| { @@ -477,7 +477,7 @@ fn writeSymtab(self: *DebugSymbols, macho_file: *MachO) !void { var locals = std.ArrayList(macho.nlist_64).init(gpa); defer locals.deinit(); - for (macho_file.locals.items) |sym, sym_id| { + for (macho_file.locals.items, 0..) |sym, sym_id| { if (sym.n_strx == 0) continue; // no name, skip const sym_loc = MachO.SymbolWithLoc{ .sym_index = @intCast(u32, sym_id), .file = null }; if (macho_file.symbolIsTemp(sym_loc)) continue; // local temp symbol, skip @@ -547,7 +547,7 @@ fn writeStrtab(self: *DebugSymbols) !void { pub fn getSectionIndexes(self: *DebugSymbols, segment_index: u8) struct { start: u8, end: u8 } { var start: u8 = 0; - const nsects = for (self.segments.items) |seg, i| { + const nsects = for (self.segments.items, 0..) |seg, i| { if (i == segment_index) break @intCast(u8, seg.nsects); start += @intCast(u8, seg.nsects); } else 0; diff --git a/src/link/MachO/Dylib.zig b/src/link/MachO/Dylib.zig index a2c4bad942cd1ab5579d3b93da0cc2398bd6f63a..863f1e805a36c666d7d0920aaccefc1fb32ee895 100644 --- a/src/link/MachO/Dylib.zig +++ b/src/link/MachO/Dylib.zig @@ -347,7 +347,7 @@ pub fn parseFromStub( }); defer matcher.deinit(); - for (lib_stub.inner) |elem, stub_index| { + for (lib_stub.inner, 0..) |elem, stub_index| { const is_match = switch (elem) { .v3 => |stub| matcher.matchesArch(stub.archs), .v4 => |stub| matcher.matchesTarget(stub.targets), diff --git a/src/link/MachO/Object.zig b/src/link/MachO/Object.zig index 4d24b2ed6af93a32b905cf2ef6bfbac920ad2e80..fdcdb472241bd393daad5ada0b662ce92b98b1e0 100644 --- a/src/link/MachO/Object.zig +++ b/src/link/MachO/Object.zig @@ -201,7 +201,7 @@ pub fn parse(self: *Object, allocator: Allocator, cpu_arch: std.Target.Cpu.Arch) var sorted_all_syms = try std.ArrayList(SymbolAtIndex).initCapacity(allocator, self.in_symtab.?.len); defer sorted_all_syms.deinit(); - for (self.in_symtab.?) |_, index| { + for (self.in_symtab.?, 0..) |_, index| { sorted_all_syms.appendAssumeCapacity(.{ .index = @intCast(u32, index) }); } @@ -211,7 +211,7 @@ pub fn parse(self: *Object, allocator: Allocator, cpu_arch: std.Target.Cpu.Arch) // is kind enough to specify the symbols in the correct order. sort.sort(SymbolAtIndex, sorted_all_syms.items, self, SymbolAtIndex.lessThan); - for (sorted_all_syms.items) |sym_id, i| { + for (sorted_all_syms.items, 0..) |sym_id, i| { const sym = sym_id.getSymbol(self); if (sym.sect() and self.source_section_index_lookup[sym.n_sect - 1] == -1) { @@ -380,7 +380,7 @@ pub fn splitRegularSections(self: *Object, zld: *Zld, object_id: u32) !void { const gpa = zld.gpa; const sections = self.getSourceSections(); - for (sections) |sect, id| { + for (sections, 0..) |sect, id| { if (sect.isDebug()) continue; const out_sect_id = (try zld.getOutputSection(sect)) orelse { log.debug(" unhandled section '{s},{s}'", .{ sect.segName(), sect.sectName() }); @@ -400,7 +400,7 @@ pub fn splitRegularSections(self: *Object, zld: *Zld, object_id: u32) !void { } if (self.in_symtab == null) { - for (sections) |sect, id| { + for (sections, 0..) |sect, id| { if (sect.isDebug()) continue; const out_sect_id = (try zld.getOutputSection(sect)) orelse continue; if (sect.size == 0) continue; @@ -446,7 +446,7 @@ pub fn splitRegularSections(self: *Object, zld: *Zld, object_id: u32) !void { var sorted_sections = try gpa.alloc(SortedSection, sections.len); defer gpa.free(sorted_sections); - for (sections) |sect, id| { + for (sections, 0..) |sect, id| { sorted_sections[id] = .{ .header = sect, .id = @intCast(u8, id) }; } @@ -804,7 +804,7 @@ fn parseUnwindInfo(self: *Object, zld: *Zld, object_id: u32) !void { try self.parseRelocs(gpa, sect_id); const relocs = self.getRelocs(sect_id); - for (unwind_records) |record, record_id| { + for (unwind_records, 0..) |record, record_id| { const offset = record_id * @sizeOf(macho.compact_unwind_entry); const rel_pos = filterRelocs( relocs, @@ -857,7 +857,7 @@ pub fn getSourceSectionByName(self: Object, segname: []const u8, sectname: []con pub fn getSourceSectionIndexByName(self: Object, segname: []const u8, sectname: []const u8) ?u8 { const sections = self.getSourceSections(); - for (sections) |sect, i| { + for (sections, 0..) |sect, i| { if (mem.eql(u8, segname, sect.segName()) and mem.eql(u8, sectname, sect.sectName())) return @intCast(u8, i); } else return null; diff --git a/src/link/MachO/UnwindInfo.zig b/src/link/MachO/UnwindInfo.zig index 5e61834bbc201ea7bb2afc16928c2c12ee5fea02..c64e617a35cad65de33178c7eba470327e5082f1 100644 --- a/src/link/MachO/UnwindInfo.zig +++ b/src/link/MachO/UnwindInfo.zig @@ -126,7 +126,7 @@ const Page = struct { ctx.page.start + ctx.page.count, }); try writer.print(" encodings (count = {d})\n", .{ctx.page.page_encodings_count}); - for (ctx.page.page_encodings[0..ctx.page.page_encodings_count]) |record_id, i| { + for (ctx.page.page_encodings[0..ctx.page.page_encodings_count], 0..) |record_id, i| { const record = ctx.info.records.items[record_id]; const enc = record.compactUnwindEncoding; try writer.print(" {d}: 0x{x:0>8}\n", .{ ctx.info.common_encodings_count + i, enc }); @@ -205,7 +205,7 @@ pub fn scanRelocs(zld: *Zld) !void { if (zld.getSectionByName("__TEXT", "__unwind_info") == null) return; const cpu_arch = zld.options.target.cpu.arch; - for (zld.objects.items) |*object, object_id| { + for (zld.objects.items, 0..) |*object, object_id| { const unwind_records = object.getUnwindRecords(); for (object.exec_atoms.items) |atom_index| { const record_id = object.unwind_records_lookup.get(atom_index) orelse continue; @@ -244,7 +244,7 @@ pub fn collect(info: *UnwindInfo, zld: *Zld) !void { defer atom_indexes.deinit(); // TODO handle dead stripping - for (zld.objects.items) |*object, object_id| { + for (zld.objects.items, 0..) |*object, object_id| { log.debug("collecting unwind records in {s} ({d})", .{ object.name, object_id }); const unwind_records = object.getUnwindRecords(); @@ -335,7 +335,7 @@ pub fn collect(info: *UnwindInfo, zld: *Zld) !void { try info.records_lookup.ensureTotalCapacity(info.gpa, @intCast(u32, atom_indexes.items.len)); var maybe_prev: ?macho.compact_unwind_entry = null; - for (records.items) |record, i| { + for (records.items, 0..) |record, i| { const record_id = blk: { if (maybe_prev) |prev| { const is_dwarf = UnwindEncoding.isDwarf(record.compactUnwindEncoding, cpu_arch); @@ -483,7 +483,7 @@ pub fn collect(info: *UnwindInfo, zld: *Zld) !void { // Save indices of records requiring LSDA relocation try info.lsdas_lookup.ensureTotalCapacity(info.gpa, @intCast(u32, info.records.items.len)); - for (info.records.items) |rec, i| { + for (info.records.items, 0..) |rec, i| { info.lsdas_lookup.putAssumeCapacityNoClobber(@intCast(RecordIndex, i), @intCast(u32, info.lsdas.items.len)); if (rec.lsda == 0) continue; try info.lsdas.append(info.gpa, @intCast(RecordIndex, i)); @@ -556,7 +556,7 @@ pub fn write(info: *UnwindInfo, zld: *Zld) !void { const cpu_arch = zld.options.target.cpu.arch; log.debug("Personalities:", .{}); - for (info.personalities[0..info.personalities_count]) |target, i| { + for (info.personalities[0..info.personalities_count], 0..) |target, i| { const atom_index = zld.getGotAtomIndexForSymbol(target).?; const atom = zld.getAtom(atom_index); const sym = zld.getSymbol(atom.getSymbolWithLoc()); @@ -581,7 +581,7 @@ pub fn write(info: *UnwindInfo, zld: *Zld) !void { } } - for (info.records.items) |record, i| { + for (info.records.items, 0..) |record, i| { log.debug("Unwind record at offset 0x{x}", .{i * @sizeOf(macho.compact_unwind_entry)}); log.debug(" start: 0x{x}", .{record.rangeStart}); log.debug(" length: 0x{x}", .{record.rangeLength}); @@ -621,7 +621,7 @@ pub fn write(info: *UnwindInfo, zld: *Zld) !void { const pages_base_offset = @intCast(u32, size - (info.pages.items.len * second_level_page_bytes)); const lsda_base_offset = @intCast(u32, pages_base_offset - (info.lsdas.items.len * @sizeOf(macho.unwind_info_section_header_lsda_index_entry))); - for (info.pages.items) |page, i| { + for (info.pages.items, 0..) |page, i| { assert(page.count > 0); const first_entry = info.records.items[page.start]; try writer.writeStruct(macho.unwind_info_section_header_index_entry{ diff --git a/src/link/MachO/dead_strip.zig b/src/link/MachO/dead_strip.zig index 6ba70acbfd53fef301e8fda2b3db3299bc2ef35c..9dfd6226b4cc4b961ad39be4161f069b2a130a83 100644 --- a/src/link/MachO/dead_strip.zig +++ b/src/link/MachO/dead_strip.zig @@ -238,7 +238,7 @@ fn mark(zld: *Zld, roots: AtomTable, alive: *AtomTable) !void { } } - for (zld.objects.items) |_, object_id| { + for (zld.objects.items, 0..) |_, object_id| { // Traverse unwind and eh_frame records noting if the source symbol has been marked, and if so, // marking all references as live. try markUnwindRecords(zld, @intCast(u32, object_id), alive); diff --git a/src/link/MachO/dyld_info/Rebase.zig b/src/link/MachO/dyld_info/Rebase.zig index 0233744c4348d7a88840e094b949d99314ab0445..1d7a0c94c0c89db3297d6e1795e25af86ccd34ab 100644 --- a/src/link/MachO/dyld_info/Rebase.zig +++ b/src/link/MachO/dyld_info/Rebase.zig @@ -45,7 +45,7 @@ pub fn finalize(rebase: *Rebase, gpa: Allocator) !void { var start: usize = 0; var seg_id: ?u8 = null; - for (rebase.entries.items) |entry, i| { + for (rebase.entries.items, 0..) |entry, i| { if (seg_id != null and seg_id.? == entry.segment_id) continue; try finalizeSegment(rebase.entries.items[start..i], writer); seg_id = entry.segment_id; diff --git a/src/link/MachO/dyld_info/bind.zig b/src/link/MachO/dyld_info/bind.zig index b4e51478e0ad0033dc3987140e8948d11a73a26c..98a693920a6f4ffeb9fa77ca9f1c24d17c97f3ce 100644 --- a/src/link/MachO/dyld_info/bind.zig +++ b/src/link/MachO/dyld_info/bind.zig @@ -51,7 +51,7 @@ pub fn Bind(comptime Ctx: type, comptime Target: type) type { var start: usize = 0; var seg_id: ?u8 = null; - for (self.entries.items) |entry, i| { + for (self.entries.items, 0..) |entry, i| { if (seg_id != null and seg_id.? == entry.segment_id) continue; try finalizeSegment(self.entries.items[start..i], ctx, writer); seg_id = entry.segment_id; diff --git a/src/link/MachO/eh_frame.zig b/src/link/MachO/eh_frame.zig index 3867b15a96516a5a751a8dfbc7ced7bd1fc0bc2e..5420bf6c298bfd14fc9461f8bcf1ad0c3f04f8d7 100644 --- a/src/link/MachO/eh_frame.zig +++ b/src/link/MachO/eh_frame.zig @@ -16,7 +16,7 @@ const Zld = @import("zld.zig").Zld; pub fn scanRelocs(zld: *Zld) !void { const gpa = zld.gpa; - for (zld.objects.items) |*object, object_id| { + for (zld.objects.items, 0..) |*object, object_id| { var cies = std.AutoHashMap(u32, void).init(gpa); defer cies.deinit(); @@ -108,7 +108,7 @@ pub fn write(zld: *Zld, unwind_info: *UnwindInfo) !void { var eh_frame_offset: u32 = 0; - for (zld.objects.items) |*object, object_id| { + for (zld.objects.items, 0..) |*object, object_id| { try eh_records.ensureUnusedCapacity(2 * @intCast(u32, object.exec_atoms.items.len)); var cies = std.AutoHashMap(u32, u32).init(gpa); @@ -407,7 +407,7 @@ pub fn EhFrameRecord(comptime is_mutable: bool) type { var creader = std.io.countingReader(stream.reader()); const reader = creader.reader(); - for (aug_str) |ch, i| switch (ch) { + for (aug_str, 0..) |ch, i| switch (ch) { 'z' => if (i > 0) { return error.BadDwarfCfi; } else { @@ -467,7 +467,7 @@ pub fn EhFrameRecord(comptime is_mutable: bool) type { var creader = std.io.countingReader(stream.reader()); const reader = creader.reader(); - for (aug_str) |ch, i| switch (ch) { + for (aug_str, 0..) |ch, i| switch (ch) { 'z' => if (i > 0) { return error.BadDwarfCfi; } else { diff --git a/src/link/MachO/thunks.zig b/src/link/MachO/thunks.zig index f12fb8066888d6969396df891f0a04f22c4d3683..ce3fda0b1f754a70ce7bd2f0bf0dc7ce1ab03407 100644 --- a/src/link/MachO/thunks.zig +++ b/src/link/MachO/thunks.zig @@ -329,7 +329,7 @@ fn createThunkAtom(zld: *Zld) !AtomIndex { fn getThunkIndex(zld: *Zld, atom_index: AtomIndex) ?ThunkIndex { const atom = zld.getAtom(atom_index); const sym = zld.getSymbol(atom.getSymbolWithLoc()); - for (zld.thunks.items) |thunk, i| { + for (zld.thunks.items, 0..) |thunk, i| { if (thunk.len == 0) continue; const thunk_atom_index = thunk.getStartAtomIndex(); diff --git a/src/link/MachO/zld.zig b/src/link/MachO/zld.zig index a94a0828fc5a95d6a25154358605e8baa12d6024..a901e4fd4b59a75b31b43367851f217e6e85dd44 100644 --- a/src/link/MachO/zld.zig +++ b/src/link/MachO/zld.zig @@ -321,7 +321,7 @@ pub const Zld = struct { syslibroot: ?[]const u8, dependent_libs: anytype, ) !void { - for (lib_names) |lib, i| { + for (lib_names, 0..) |lib, i| { const lib_info = lib_infos[i]; log.debug("parsing lib path '{s}'", .{lib}); if (try self.parseDylib(lib, dependent_libs, .{ @@ -1092,7 +1092,7 @@ pub const Zld = struct { const sym = self.getSymbolPtr(global); const sym_name = self.getSymbolName(global); - for (self.dylibs.items) |dylib, id| { + for (self.dylibs.items, 0..) |dylib, id| { if (!dylib.symbols.contains(sym_name)) continue; const dylib_id = @intCast(u16, id); @@ -1223,7 +1223,7 @@ pub const Zld = struct { const global = SymbolWithLoc{ .sym_index = sym_index }; try self.globals.append(gpa, global); - for (self.dylibs.items) |dylib, id| { + for (self.dylibs.items, 0..) |dylib, id| { if (!dylib.symbols.contains(sym_name)) continue; const dylib_id = @intCast(u16, id); @@ -1311,7 +1311,7 @@ pub const Zld = struct { }); } - for (self.sections.items(.header)) |header, sect_id| { + for (self.sections.items(.header), 0..) |header, sect_id| { if (header.size == 0) continue; // empty section const segname = header.segName(); @@ -1385,7 +1385,7 @@ pub const Zld = struct { const gpa = self.gpa; const slice = self.sections.slice(); - for (slice.items(.first_atom_index)) |first_atom_index, sect_id| { + for (slice.items(.first_atom_index), 0..) |first_atom_index, sect_id| { const header = slice.items(.header)[sect_id]; var atom_index = first_atom_index; @@ -1525,7 +1525,7 @@ pub const Zld = struct { fn calcSectionSizes(self: *Zld) !void { const slice = self.sections.slice(); - for (slice.items(.header)) |*header, sect_id| { + for (slice.items(.header), 0..) |*header, sect_id| { if (header.size == 0) continue; if (self.requiresThunks()) { if (header.isCode() and !(header.type() == macho.S_SYMBOL_STUBS) and !mem.eql(u8, header.sectName(), "__stub_helper")) continue; @@ -1556,7 +1556,7 @@ pub const Zld = struct { } if (self.requiresThunks()) { - for (slice.items(.header)) |header, sect_id| { + for (slice.items(.header), 0..) |header, sect_id| { if (!header.isCode()) continue; if (header.type() == macho.S_SYMBOL_STUBS) continue; if (mem.eql(u8, header.sectName(), "__stub_helper")) continue; @@ -1568,7 +1568,7 @@ pub const Zld = struct { } fn allocateSegments(self: *Zld) !void { - for (self.segments.items) |*segment, segment_index| { + for (self.segments.items, 0..) |*segment, segment_index| { const is_text_segment = mem.eql(u8, segment.segName(), "__TEXT"); const base_size = if (is_text_segment) try load_commands.calcMinHeaderPad(self.gpa, self.options, .{ .segments = self.segments.items, @@ -1606,7 +1606,7 @@ pub const Zld = struct { var start = init_size; const slice = self.sections.slice(); - for (slice.items(.header)[indexes.start..indexes.end]) |*header, sect_id| { + for (slice.items(.header)[indexes.start..indexes.end], 0..) |*header, sect_id| { const alignment = try math.powi(u32, 2, header.@"align"); const start_aligned = mem.alignForwardGeneric(u64, start, alignment); const n_sect = @intCast(u8, indexes.start + sect_id + 1); @@ -1750,7 +1750,7 @@ pub const Zld = struct { } fn writeSegmentHeaders(self: *Zld, writer: anytype) !void { - for (self.segments.items) |seg, i| { + for (self.segments.items, 0..) |seg, i| { const indexes = self.getSectionIndexes(@intCast(u8, i)); var out_seg = seg; out_seg.cmdsize = @sizeOf(macho.segment_command_64); @@ -1852,7 +1852,7 @@ pub const Zld = struct { } // Finally, unpack the rest. - for (slice.items(.header)) |header, sect_id| { + for (slice.items(.header), 0..) |header, sect_id| { switch (header.type()) { macho.S_LITERAL_POINTERS, macho.S_REGULAR, @@ -1989,7 +1989,7 @@ pub const Zld = struct { // Finally, unpack the rest. const slice = self.sections.slice(); - for (slice.items(.header)) |header, sect_id| { + for (slice.items(.header), 0..) |header, sect_id| { switch (header.type()) { macho.S_LITERAL_POINTERS, macho.S_REGULAR, @@ -2710,7 +2710,7 @@ pub const Zld = struct { const amt = try self.file.preadAll(locals_buf, self.symtab_cmd.symoff); if (amt != locals_buf.len) return error.InputOutput; - const istab: usize = for (locals) |local, i| { + const istab: usize = for (locals, 0..) |local, i| { if (local.stab()) break i; } else locals.len; const nstabs = locals.len - istab; @@ -2897,7 +2897,7 @@ pub const Zld = struct { } fn getSegmentByName(self: Zld, segname: []const u8) ?u8 { - for (self.segments.items) |seg, i| { + for (self.segments.items, 0..) |seg, i| { if (mem.eql(u8, segname, seg.segName())) return @intCast(u8, i); } else return null; } @@ -2921,7 +2921,7 @@ pub const Zld = struct { pub fn getSectionByName(self: Zld, segname: []const u8, sectname: []const u8) ?u8 { // TODO investigate caching with a hashmap - for (self.sections.items(.header)) |header, i| { + for (self.sections.items(.header), 0..) |header, i| { if (mem.eql(u8, header.segName(), segname) and mem.eql(u8, header.sectName(), sectname)) return @intCast(u8, i); } else return null; @@ -2929,7 +2929,7 @@ pub const Zld = struct { pub fn getSectionIndexes(self: Zld, segment_index: u8) struct { start: u8, end: u8 } { var start: u8 = 0; - const nsects = for (self.segments.items) |seg, i| { + const nsects = for (self.segments.items, 0..) |seg, i| { if (i == segment_index) break @intCast(u8, seg.nsects); start += @intCast(u8, seg.nsects); } else 0; @@ -3220,7 +3220,7 @@ pub const Zld = struct { fn logSegments(self: *Zld) void { log.debug("segments:", .{}); - for (self.segments.items) |segment, i| { + for (self.segments.items, 0..) |segment, i| { log.debug(" segment({d}): {s} @{x} ({x}), sizeof({x})", .{ i, segment.segName(), @@ -3233,7 +3233,7 @@ pub const Zld = struct { fn logSections(self: *Zld) void { log.debug("sections:", .{}); - for (self.sections.items(.header)) |header, i| { + for (self.sections.items(.header), 0..) |header, i| { log.debug(" sect({d}): {s},{s} @{x} ({x}), sizeof({x})", .{ i + 1, header.segName(), @@ -3271,10 +3271,10 @@ pub const Zld = struct { const scoped_log = std.log.scoped(.symtab); scoped_log.debug("locals:", .{}); - for (self.objects.items) |object, id| { + for (self.objects.items, 0..) |object, id| { scoped_log.debug(" object({d}): {s}", .{ id, object.name }); if (object.in_symtab == null) continue; - for (object.symtab) |sym, sym_id| { + for (object.symtab, 0..) |sym, sym_id| { mem.set(u8, &buf, '_'); scoped_log.debug(" %{d}: {s} @{x} in sect({d}), {s}", .{ sym_id, @@ -3286,7 +3286,7 @@ pub const Zld = struct { } } scoped_log.debug(" object(-1)", .{}); - for (self.locals.items) |sym, sym_id| { + for (self.locals.items, 0..) |sym, sym_id| { if (sym.undf()) continue; scoped_log.debug(" %{d}: {s} @{x} in sect({d}), {s}", .{ sym_id, @@ -3298,7 +3298,7 @@ pub const Zld = struct { } scoped_log.debug("exports:", .{}); - for (self.globals.items) |global, i| { + for (self.globals.items, 0..) |global, i| { const sym = self.getSymbol(global); if (sym.undf()) continue; if (sym.n_desc == N_DEAD) continue; @@ -3313,7 +3313,7 @@ pub const Zld = struct { } scoped_log.debug("imports:", .{}); - for (self.globals.items) |global, i| { + for (self.globals.items, 0..) |global, i| { const sym = self.getSymbol(global); if (!sym.undf()) continue; if (sym.n_desc == N_DEAD) continue; @@ -3328,7 +3328,7 @@ pub const Zld = struct { } scoped_log.debug("GOT entries:", .{}); - for (self.got_entries.items) |entry, i| { + for (self.got_entries.items, 0..) |entry, i| { const atom_sym = entry.getAtomSymbol(self); const target_sym = entry.getTargetSymbol(self); const target_sym_name = entry.getTargetSymbolName(self); @@ -3350,7 +3350,7 @@ pub const Zld = struct { } scoped_log.debug("__thread_ptrs entries:", .{}); - for (self.tlv_ptr_entries.items) |entry, i| { + for (self.tlv_ptr_entries.items, 0..) |entry, i| { const atom_sym = entry.getAtomSymbol(self); const target_sym = entry.getTargetSymbol(self); const target_sym_name = entry.getTargetSymbolName(self); @@ -3363,7 +3363,7 @@ pub const Zld = struct { } scoped_log.debug("stubs entries:", .{}); - for (self.stubs.items) |entry, i| { + for (self.stubs.items, 0..) |entry, i| { const atom_sym = entry.getAtomSymbol(self); const target_sym = entry.getTargetSymbol(self); const target_sym_name = entry.getTargetSymbolName(self); @@ -3376,9 +3376,9 @@ pub const Zld = struct { } scoped_log.debug("thunks:", .{}); - for (self.thunks.items) |thunk, i| { + for (self.thunks.items, 0..) |thunk, i| { scoped_log.debug(" thunk({d})", .{i}); - for (thunk.lookup.keys()) |target, j| { + for (thunk.lookup.keys(), 0..) |target, j| { const target_sym = self.getSymbol(target); const atom = self.getAtom(thunk.lookup.get(target).?); const atom_sym = self.getSymbol(atom.getSymbolWithLoc()); @@ -3395,7 +3395,7 @@ pub const Zld = struct { fn logAtoms(self: *Zld) void { log.debug("atoms:", .{}); const slice = self.sections.slice(); - for (slice.items(.first_atom_index)) |first_atom_index, sect_id| { + for (slice.items(.first_atom_index), 0..) |first_atom_index, sect_id| { var atom_index = first_atom_index; if (atom_index == 0) continue; @@ -3980,7 +3980,7 @@ pub fn linkWithZld(macho_file: *MachO, comp: *Compilation, prog_node: *std.Progr .unresolved = std.AutoArrayHashMap(u32, void).init(arena), }; - for (zld.objects.items) |_, object_id| { + for (zld.objects.items, 0..) |_, object_id| { try zld.resolveSymbolsInObject(@intCast(u32, object_id), &resolver); } @@ -4010,7 +4010,7 @@ pub fn linkWithZld(macho_file: *MachO, comp: *Compilation, prog_node: *std.Progr zld.entry_index = global_index; } - for (zld.objects.items) |*object, object_id| { + for (zld.objects.items, 0..) |*object, object_id| { try object.splitIntoAtoms(&zld, @intCast(u32, object_id)); } diff --git a/src/link/SpirV.zig b/src/link/SpirV.zig index 14a29e4498673fb09df66cc35d01c9eb4cdf59c8..2d74e404eb7e45824062884ea4c058225eec7899 100644 --- a/src/link/SpirV.zig +++ b/src/link/SpirV.zig @@ -298,7 +298,7 @@ fn cloneAir(air: Air, gpa: Allocator, air_arena: Allocator) !Air { const values = try gpa.alloc(Value, air.values.len); errdefer gpa.free(values); - for (values) |*value, i| { + for (values, 0..) |*value, i| { value.* = try air.values[i].copy(air_arena); } @@ -308,7 +308,7 @@ fn cloneAir(air: Air, gpa: Allocator, air_arena: Allocator) !Air { const air_tags = instructions.items(.tag); const air_datas = instructions.items(.data); - for (air_tags) |tag, i| { + for (air_tags, 0..) |tag, i| { switch (tag) { .alloc, .ret_ptr, .const_ty => air_datas[i].ty = try air_datas[i].ty.copy(air_arena), else => {}, diff --git a/src/link/Wasm.zig b/src/link/Wasm.zig index e62a2050d75e641317ad277e8f9ba70ea71f5bcc..00a52177f7dfd6b11ded90a270305c0a089b9afb 100644 --- a/src/link/Wasm.zig +++ b/src/link/Wasm.zig @@ -590,7 +590,7 @@ fn resolveSymbolsInObject(wasm: *Wasm, object_index: u16) !void { const object: Object = wasm.objects.items[object_index]; log.debug("Resolving symbols in object: '{s}'", .{object.name}); - for (object.symtable) |symbol, i| { + for (object.symtable, 0..) |symbol, i| { const sym_index = @intCast(u32, i); const location: SymbolLoc = .{ .file = object_index, @@ -794,7 +794,7 @@ fn validateFeatures( // extract all the used, disallowed and required features from each // linked object file so we can test them. - for (wasm.objects.items) |object, object_index| { + for (wasm.objects.items, 0..) |object, object_index| { for (object.features) |feature| { const value = @intCast(u16, object_index) << 1 | @as(u1, 1); switch (feature.prefix) { @@ -815,7 +815,7 @@ fn validateFeatures( // when we infer the features, we allow each feature found in the 'used' set // and insert it into the 'allowed' set. When features are not inferred, // we validate that a used feature is allowed. - for (used) |used_set, used_index| { + for (used, 0..) |used_set, used_index| { const is_enabled = @truncate(u1, used_set) != 0; if (infer) { allowed[used_index] = is_enabled; @@ -849,7 +849,7 @@ fn validateFeatures( } // validate the linked object file has each required feature - for (required) |required_feature, feature_index| { + for (required, 0..) |required_feature, feature_index| { const is_required = @truncate(u1, required_feature) != 0; if (is_required and !object_used_features[feature_index]) { log.err("feature '{s}' is required but not used in linked object", .{(@intToEnum(types.Feature.Tag, feature_index)).toString()}); @@ -1818,7 +1818,7 @@ fn sortDataSegments(wasm: *Wasm) !void { /// original functions and their types. We need to know the type to verify it doesn't /// contain any parameters. fn setupInitFunctions(wasm: *Wasm) !void { - for (wasm.objects.items) |object, file_index| { + for (wasm.objects.items, 0..) |object, file_index| { try wasm.init_funcs.ensureUnusedCapacity(wasm.base.allocator, object.init_funcs.len); for (object.init_funcs) |init_func| { const symbol = object.symtable[init_func.symbol_index]; @@ -2717,7 +2717,7 @@ fn linkWithZld(wasm: *Wasm, comp: *Compilation, prog_node: *std.Progress.Node) l try wasm.parseInputFiles(positionals.items); - for (wasm.objects.items) |_, object_index| { + for (wasm.objects.items, 0..) |_, object_index| { try wasm.resolveSymbolsInObject(@intCast(u16, object_index)); } @@ -2732,7 +2732,7 @@ fn linkWithZld(wasm: *Wasm, comp: *Compilation, prog_node: *std.Progress.Node) l try wasm.setupStart(); try wasm.setupImports(); - for (wasm.objects.items) |*object, object_index| { + for (wasm.objects.items, 0..) |*object, object_index| { try object.parseIntoAtoms(gpa, @intCast(u16, object_index), wasm); } @@ -2801,7 +2801,7 @@ pub fn flushModule(wasm: *Wasm, comp: *Compilation, prog_node: *std.Progress.Nod try wasm.parseInputFiles(positionals.items); - for (wasm.objects.items) |_, object_index| { + for (wasm.objects.items, 0..) |_, object_index| { try wasm.resolveSymbolsInObject(@intCast(u16, object_index)); } @@ -2850,7 +2850,7 @@ pub fn flushModule(wasm: *Wasm, comp: *Compilation, prog_node: *std.Progress.Nod } } - for (wasm.objects.items) |*object, object_index| { + for (wasm.objects.items, 0..) |*object, object_index| { try object.parseIntoAtoms(wasm.base.allocator, @intCast(u16, object_index), wasm); } @@ -3362,7 +3362,7 @@ fn emitFeaturesSection(binary_bytes: *std.ArrayList(u8), enabled_features: []con try writer.writeAll(target_features); try leb.writeULEB128(writer, features_count); - for (enabled_features) |enabled, feature_index| { + for (enabled_features, 0..) |enabled, feature_index| { if (enabled) { const feature: types.Feature = .{ .prefix = .used, .tag = @intToEnum(types.Feature.Tag, feature_index) }; try leb.writeULEB128(writer, @enumToInt(feature.prefix)); diff --git a/src/link/Wasm/Object.zig b/src/link/Wasm/Object.zig index 7d4f6a4e36f32b817be6127d88d6f7594c42c2d1..82cab2528a0dedef8de18ba18f23c1a1acc476a3 100644 --- a/src/link/Wasm/Object.zig +++ b/src/link/Wasm/Object.zig @@ -882,7 +882,7 @@ pub fn parseIntoAtoms(object: *Object, gpa: Allocator, object_index: u16, wasm_b list.deinit(); } else symbol_for_segment.deinit(); - for (object.symtable) |symbol, symbol_index| { + for (object.symtable, 0..) |symbol, symbol_index| { switch (symbol.tag) { .function, .data, .section => if (!symbol.isUndefined()) { const gop = try symbol_for_segment.getOrPut(.{ .kind = symbol.tag, .index = symbol.index }); @@ -896,7 +896,7 @@ pub fn parseIntoAtoms(object: *Object, gpa: Allocator, object_index: u16, wasm_b } } - for (object.relocatable_data) |relocatable_data, index| { + for (object.relocatable_data, 0..) |relocatable_data, index| { const final_index = (try wasm_bin.getMatchingSegment(object_index, @intCast(u32, index))) orelse { continue; // found unknown section, so skip parsing into atom as we do not know how to handle it. }; diff --git a/src/link/tapi.zig b/src/link/tapi.zig index 20a3a2493ee2d031d5f7bb1956aad1fa8a568985..c97332984fb3ef3289cdd701a22035fe47fe9538 100644 --- a/src/link/tapi.zig +++ b/src/link/tapi.zig @@ -124,7 +124,7 @@ pub const LibStub = struct { log.debug("trying to parse as []TbdV4", .{}); const inner = lib_stub.yaml.parse([]TbdV4) catch break :err; var out = try lib_stub.yaml.arena.allocator().alloc(Tbd, inner.len); - for (inner) |doc, i| { + for (inner, 0..) |doc, i| { out[i] = .{ .v4 = doc }; } break :blk out; @@ -142,7 +142,7 @@ pub const LibStub = struct { log.debug("trying to parse as []TbdV3", .{}); const inner = lib_stub.yaml.parse([]TbdV3) catch break :err; var out = try lib_stub.yaml.arena.allocator().alloc(Tbd, inner.len); - for (inner) |doc, i| { + for (inner, 0..) |doc, i| { out[i] = .{ .v3 = doc }; } break :blk out; diff --git a/src/link/tapi/yaml.zig b/src/link/tapi/yaml.zig index 748f1c138f26640a1d83a74f1babce62621a7c71..d4136b35d3da2e0ef53d289ea5a56f3302a63b8f 100644 --- a/src/link/tapi/yaml.zig +++ b/src/link/tapi/yaml.zig @@ -84,7 +84,7 @@ pub const Value = union(ValueType) { const first = list[0]; if (first.is_compound()) { - for (list) |elem, i| { + for (list, 0..) |elem, i| { try writer.writeByteNTimes(' ', args.indentation); try writer.writeAll("- "); try elem.stringify(writer, .{ @@ -99,7 +99,7 @@ pub const Value = union(ValueType) { } try writer.writeAll("[ "); - for (list) |elem, i| { + for (list, 0..) |elem, i| { try elem.stringify(writer, args); if (i < len - 1) { try writer.writeAll(", "); @@ -112,7 +112,7 @@ pub const Value = union(ValueType) { const len = keys.len; if (len == 0) return; - for (keys) |key, i| { + for (keys, 0..) |key, i| { if (!args.should_inline_first_key or i != 0) { try writer.writeByteNTimes(' ', args.indentation); } @@ -292,7 +292,7 @@ pub const Yaml = struct { switch (@typeInfo(T)) { .Array => |info| { var parsed: T = undefined; - for (self.docs.items) |doc, i| { + for (self.docs.items, 0..) |doc, i| { parsed[i] = try self.parseValue(info.child, doc); } return parsed; @@ -301,7 +301,7 @@ pub const Yaml = struct { switch (info.size) { .Slice => { var parsed = try self.arena.allocator().alloc(info.child, self.docs.items.len); - for (self.docs.items) |doc, i| { + for (self.docs.items, 0..) |doc, i| { parsed[i] = try self.parseValue(info.child, doc); } return parsed; @@ -393,7 +393,7 @@ pub const Yaml = struct { } var parsed = try arena.alloc(ptr_info.child, value.list.len); - for (value.list) |elem, i| { + for (value.list, 0..) |elem, i| { parsed[i] = try self.parseValue(ptr_info.child, elem); } return parsed; @@ -407,7 +407,7 @@ pub const Yaml = struct { if (array_info.len != list.len) return error.ArraySizeMismatch; var parsed: T = undefined; - for (list) |elem, i| { + for (list, 0..) |elem, i| { parsed[i] = try self.parseValue(array_info.child, elem); } diff --git a/src/main.zig b/src/main.zig index a0cdfb36b602bf5bf10dc29082378a78733b0a65..e80be06a36134f36a9d89d64a3495aafa1a7eac9 100644 --- a/src/main.zig +++ b/src/main.zig @@ -3684,10 +3684,10 @@ fn cmdTranslateC(comp: *Compilation, arena: Allocator, enable_cache: bool) !void const new_argv_with_sentinel = try arena.alloc(?[*:0]const u8, clang_args_len + 1); new_argv_with_sentinel[clang_args_len] = null; const new_argv = new_argv_with_sentinel[0..clang_args_len :null]; - for (argv.items) |arg, i| { + for (argv.items, 0..) |arg, i| { new_argv[i] = try arena.dupeZ(u8, arg); } - for (c_source_file.extra_flags) |arg, i| { + for (c_source_file.extra_flags, 0..) |arg, i| { new_argv[argv.items.len + i] = try arena.dupeZ(u8, arg); } @@ -4816,7 +4816,7 @@ extern "c" fn ZigLlvmAr_main(argc: c_int, argv: [*:null]?[*:0]u8) c_int; fn argsCopyZ(alloc: Allocator, args: []const []const u8) ![:null]?[*:0]u8 { var argv = try alloc.allocSentinel(?[*:0]u8, args.len, null); - for (args) |arg, i| { + for (args, 0..) |arg, i| { argv[i] = try alloc.dupeZ(u8, arg); // TODO If there was an argsAllocZ we could avoid this allocation. } return argv; diff --git a/src/mingw.zig b/src/mingw.zig index 4f94e26a98824150233ea14f078c870c6940fe42..9e9e180945f6b48317787cb2dcf92bdb8111c1f8 100644 --- a/src/mingw.zig +++ b/src/mingw.zig @@ -72,7 +72,7 @@ pub fn buildCRTFile(comp: *Compilation, crt_file: CRTFile) !void { .mingw32_lib => { var c_source_files: [mingw32_lib_deps.len]Compilation.CSourceFile = undefined; - for (mingw32_lib_deps) |dep, i| { + for (mingw32_lib_deps, 0..) |dep, i| { var args = std.ArrayList([]const u8).init(arena); try args.appendSlice(&[_][]const u8{ "-DHAVE_CONFIG_H", @@ -236,7 +236,7 @@ pub fn buildCRTFile(comp: *Compilation, crt_file: CRTFile) !void { }), }); var c_source_files: [uuid_src.len]Compilation.CSourceFile = undefined; - for (uuid_src) |dep, i| { + for (uuid_src, 0..) |dep, i| { c_source_files[i] = .{ .src_path = try comp.zig_lib_directory.join(arena, &[_][]const u8{ "libc", "mingw", "libsrc", dep, diff --git a/src/objcopy.zig b/src/objcopy.zig index 72ff8deafd338f647463df28fcb7e81662642f39..31e3d60d0ddc50ae047d72626888e23296bf6f23 100644 --- a/src/objcopy.zig +++ b/src/objcopy.zig @@ -312,7 +312,7 @@ const BinaryElfOutput = struct { std.sort.sort(*BinaryElfSegment, self.segments.items, {}, segmentSortCompare); - for (self.segments.items) |firstSegment, i| { + for (self.segments.items, 0..) |firstSegment, i| { if (firstSegment.firstSection) |firstSection| { const diff = firstSection.elfOffset - firstSegment.elfOffset; diff --git a/src/print_air.zig b/src/print_air.zig index 133e98728581a2c7f93e8f67c463b1fcf65816e7..447af5a9c7bd30b40a47816368ea9d144c965bac 100644 --- a/src/print_air.zig +++ b/src/print_air.zig @@ -68,7 +68,7 @@ const Writer = struct { indent: usize, fn writeAllConstants(w: *Writer, s: anytype) @TypeOf(s).Error!void { - for (w.air.instructions.items(.tag)) |tag, i| { + for (w.air.instructions.items(.tag), 0..) |tag, i| { const inst = @intCast(u32, i); switch (tag) { .constant, .const_ty => { @@ -388,7 +388,7 @@ const Writer = struct { try w.writeType(s, vector_ty); try s.writeAll(", ["); - for (elements) |elem, i| { + for (elements, 0..) |elem, i| { if (i != 0) try s.writeAll(", "); try w.writeOperand(s, inst, i, elem); } @@ -682,7 +682,7 @@ const Writer = struct { const args = @ptrCast([]const Air.Inst.Ref, w.air.extra[extra.end..][0..extra.data.args_len]); try w.writeOperand(s, inst, 0, pl_op.operand); try s.writeAll(", ["); - for (args) |arg, i| { + for (args, 0..) |arg, i| { if (i != 0) try s.writeAll(", "); try w.writeOperand(s, inst, 1 + i, arg); } @@ -743,7 +743,7 @@ const Writer = struct { if (liveness_condbr.then_deaths.len != 0) { try s.writeByteNTimes(' ', w.indent); - for (liveness_condbr.then_deaths) |operand, i| { + for (liveness_condbr.then_deaths, 0..) |operand, i| { if (i != 0) try s.writeAll(" "); try s.print("%{d}!", .{operand}); } @@ -756,7 +756,7 @@ const Writer = struct { if (liveness_condbr.else_deaths.len != 0) { try s.writeByteNTimes(' ', w.indent); - for (liveness_condbr.else_deaths) |operand, i| { + for (liveness_condbr.else_deaths, 0..) |operand, i| { if (i != 0) try s.writeAll(" "); try s.print("%{d}!", .{operand}); } @@ -790,7 +790,7 @@ const Writer = struct { extra_index = case.end + case.data.items_len + case_body.len; try s.writeAll(", ["); - for (items) |item, item_i| { + for (items, 0..) |item, item_i| { if (item_i != 0) try s.writeAll(", "); try w.writeInstRef(s, item, false); } @@ -800,7 +800,7 @@ const Writer = struct { const deaths = liveness.deaths[case_i]; if (deaths.len != 0) { try s.writeByteNTimes(' ', w.indent); - for (deaths) |operand, i| { + for (deaths, 0..) |operand, i| { if (i != 0) try s.writeAll(" "); try s.print("%{d}!", .{operand}); } @@ -821,7 +821,7 @@ const Writer = struct { const deaths = liveness.deaths[liveness.deaths.len - 1]; if (deaths.len != 0) { try s.writeByteNTimes(' ', w.indent); - for (deaths) |operand, i| { + for (deaths, 0..) |operand, i| { if (i != 0) try s.writeAll(" "); try s.print("%{d}!", .{operand}); } diff --git a/src/print_targets.zig b/src/print_targets.zig index 64149d6fba7559c1a6df4780362cff84db5362ba..19518a336818fc83cab629fd29063d85e2d9b643 100644 --- a/src/print_targets.zig +++ b/src/print_targets.zig @@ -99,7 +99,7 @@ pub fn cmdTargets( for (arch.allCpuModels()) |model| { try jws.objectField(model.name); try jws.beginArray(); - for (arch.allFeaturesList()) |feature, i| { + for (arch.allFeaturesList(), 0..) |feature, i| { if (model.features.isEnabled(@intCast(u8, i))) { try jws.arrayElem(); try jws.emitString(feature.name); @@ -145,7 +145,7 @@ pub fn cmdTargets( { try jws.objectField("features"); try jws.beginArray(); - for (native_target.cpu.arch.allFeaturesList()) |feature, i_usize| { + for (native_target.cpu.arch.allFeaturesList(), 0..) |feature, i_usize| { const index = @intCast(Target.Cpu.Feature.Set.Index, i_usize); if (cpu.features.isEnabled(index)) { try jws.arrayElem(); diff --git a/src/print_zir.zig b/src/print_zir.zig index e5ce9321f5975b58211b2c7e8956007a6a045550..1674bd136eeb4f531d151968ff73a8b2d377570b 100644 --- a/src/print_zir.zig +++ b/src/print_zir.zig @@ -875,7 +875,7 @@ const Writer = struct { const extra = self.code.extraData(Zir.Inst.MultiOp, inst_data.payload_index); const args = self.code.refSlice(extra.end, extra.data.operands_len); try stream.writeAll("{"); - for (args) |arg, i| { + for (args, 0..) |arg, i| { if (i != 0) try stream.writeAll(", "); try self.writeInstRef(stream, arg); } @@ -1068,7 +1068,7 @@ const Writer = struct { const src = LazySrcLoc.nodeOffset(extra.data.src_node); const operands = self.code.refSlice(extra.end, extended.small); - for (operands) |operand, i| { + for (operands, 0..) |operand, i| { if (i != 0) try stream.writeAll(", "); try self.writeInstRef(stream, operand); } @@ -1392,7 +1392,7 @@ const Writer = struct { try stream.writeAll("{\n"); self.indent += 2; - for (fields) |field, i| { + for (fields, 0..) |field, i| { try self.writeDocComment(stream, field.doc_comment_index); try stream.writeByteNTimes(' ', self.indent); try self.writeFlag(stream, "comptime ", field.is_comptime); @@ -1959,7 +1959,7 @@ const Writer = struct { try stream.writeByteNTimes(' ', self.indent); if (is_inline) try stream.writeAll("inline "); - for (items) |item_ref, item_i| { + for (items, 0..) |item_ref, item_i| { if (item_i != 0) try stream.writeAll(", "); try self.writeInstRef(stream, item_ref); } @@ -2275,7 +2275,7 @@ const Writer = struct { try self.writeBracedBody(stream, body); try stream.writeAll(",["); const args = self.code.refSlice(extra.end, extended.small); - for (args) |arg, i| { + for (args, 0..) |arg, i| { if (i != 0) try stream.writeAll(", "); try self.writeInstRef(stream, arg); } @@ -2334,7 +2334,7 @@ const Writer = struct { try self.writeInstRef(stream, args[0]); try stream.writeAll("{"); - for (args[1..]) |arg, i| { + for (args[1..], 0..) |arg, i| { if (i != 0) try stream.writeAll(", "); try self.writeInstRef(stream, arg); } @@ -2349,7 +2349,7 @@ const Writer = struct { const args = self.code.refSlice(extra.end, extra.data.operands_len); try stream.writeAll("{"); - for (args) |arg, i| { + for (args, 0..) |arg, i| { if (i != 0) try stream.writeAll(", "); try self.writeInstRef(stream, arg); } @@ -2369,7 +2369,7 @@ const Writer = struct { try stream.writeAll(", "); try stream.writeAll(".{"); - for (elems) |elem, i| { + for (elems, 0..) |elem, i| { if (i != 0) try stream.writeAll(", "); try self.writeInstRef(stream, elem); } diff --git a/src/register_manager.zig b/src/register_manager.zig index 0ab9d103b8f57f3cac949bd4c24797cb9c47dbf3..2fe0cd2b6a47703c7deead5e077b2610280121b3 100644 --- a/src/register_manager.zig +++ b/src/register_manager.zig @@ -82,7 +82,7 @@ pub fn RegisterManager( comptime registers: []const Register, reg: Register, ) ?std.math.IntFittingRange(0, registers.len - 1) { - inline for (tracked_registers) |cpreg, i| { + inline for (tracked_registers, 0..) |cpreg, i| { if (reg.id() == cpreg.id()) return i; } return null; @@ -153,7 +153,7 @@ pub fn RegisterManager( regs: [count]Register, ) [count]RegisterLock { var buf: [count]RegisterLock = undefined; - for (regs) |reg, i| { + for (regs, 0..) |reg, i| { buf[i] = self.lockRegAssumeUnused(reg); } return buf; @@ -207,7 +207,7 @@ pub fn RegisterManager( } assert(i == count); - for (regs) |reg, j| { + for (regs, 0..) |reg, j| { self.markRegAllocated(reg); if (insts[j]) |inst| { diff --git a/src/test.zig b/src/test.zig index b25a6c1e78b7b6a4267840c78f2a9128fb086072..acc1bcdc1f5ddff03051fc3d1da3a276e6f26324 100644 --- a/src/test.zig +++ b/src/test.zig @@ -664,7 +664,7 @@ pub const TestContext = struct { errors: []const []const u8, ) void { var array = self.updates.allocator.alloc(ErrorMsg, errors.len) catch @panic("out of memory"); - for (errors) |err_msg_line, i| { + for (errors, 0..) |err_msg_line, i| { if (std.mem.startsWith(u8, err_msg_line, "error: ")) { array[i] = .{ .plain = .{ @@ -1558,7 +1558,7 @@ pub const TestContext = struct { }); defer comp.destroy(); - update: for (case.updates.items) |update, update_index| { + update: for (case.updates.items, 0..) |update, update_index| { var update_node = root_node.start(update.name, 3); update_node.activate(); defer update_node.end(); @@ -1631,7 +1631,7 @@ pub const TestContext = struct { defer notes_to_check.deinit(); for (actual_errors.list) |actual_error| { - for (case_error_list) |case_msg, i| { + for (case_error_list, 0..) |case_msg, i| { if (handled_errors[i]) continue; const ex_tag: std.meta.Tag(@TypeOf(case_msg)) = case_msg; @@ -1702,7 +1702,7 @@ pub const TestContext = struct { } } while (notes_to_check.popOrNull()) |note| { - for (case_error_list) |case_msg, i| { + for (case_error_list, 0..) |case_msg, i| { const ex_tag: std.meta.Tag(@TypeOf(case_msg)) = case_msg; switch (note.*) { .src => |actual_msg| { @@ -1752,7 +1752,7 @@ pub const TestContext = struct { } } - for (handled_errors) |handled, i| { + for (handled_errors, 0..) |handled, i| { if (!handled) { print( "\nExpected error not found:\n{s}\n{}\n{s}", diff --git a/src/translate_c.zig b/src/translate_c.zig index 7fd4b9382147579d21c5c9c075e3bc00929c1a93..5b2b1c2df5d243f814730be29d46192d9e09d05e 100644 --- a/src/translate_c.zig +++ b/src/translate_c.zig @@ -1423,7 +1423,7 @@ fn transConvertVectorExpr( } const init_list = try c.arena.alloc(Node, num_elements); - for (init_list) |*init, init_index| { + for (init_list, 0..) |*init, init_index| { const tmp_decl = block_scope.statements.items[init_index]; const name = tmp_decl.castTag(.var_simple).?.data.name; init.* = try Tag.identifier.create(c.arena, name); @@ -1454,7 +1454,7 @@ fn makeShuffleMask(c: *Context, scope: *Scope, expr: *const clang.ShuffleVectorE const init_list = try c.arena.alloc(Node, mask_len); - for (init_list) |*init, i| { + for (init_list, 0..) |*init, i| { const index_expr = try transExprCoercing(c, scope, expr.getExpr(@intCast(c_uint, i + 2)), .used); const converted_index = try Tag.helpers_shuffle_vector_index.create(c.arena, .{ .lhs = index_expr, .rhs = vector_len }); init.* = converted_index; @@ -2686,7 +2686,7 @@ fn transInitListExprArray( const init_node = if (init_count != 0) blk: { const init_list = try c.arena.alloc(Node, init_count); - for (init_list) |*init, i| { + for (init_list, 0..) |*init, i| { const elem_expr = expr.getInit(@intCast(c_uint, i)); init.* = try transExprCoercing(c, scope, elem_expr, .used); } @@ -2760,7 +2760,7 @@ fn transInitListExprVector( } const init_list = try c.arena.alloc(Node, num_elements); - for (init_list) |*init, init_index| { + for (init_list, 0..) |*init, init_index| { if (init_index < init_count) { const tmp_decl = block_scope.statements.items[init_index]; const name = tmp_decl.castTag(.var_simple).?.data.name; @@ -4649,7 +4649,7 @@ fn transCreateNodeMacroFn(c: *Context, name: []const u8, ref: Node, proto_alias: const unwrap_expr = try Tag.unwrap.create(c.arena, init); const args = try c.arena.alloc(Node, fn_params.items.len); - for (fn_params.items) |param, i| { + for (fn_params.items, 0..) |param, i| { args[i] = try Tag.identifier.create(c.arena, param.name.?); } const call_expr = try Tag.call.create(c.arena, .{ @@ -5293,7 +5293,7 @@ const PatternList = struct { fn init(allocator: mem.Allocator) Error!PatternList { const patterns = try allocator.alloc(Pattern, templates.len); - for (templates) |template, i| { + for (templates, 0..) |template, i| { try patterns[i].init(allocator, template); } return PatternList{ .patterns = patterns }; @@ -5778,7 +5778,7 @@ fn parseCNumLit(c: *Context, m: *MacroCtx) ParseError!Node { fn zigifyEscapeSequences(ctx: *Context, m: *MacroCtx) ![]const u8 { var source = m.slice(); - for (source) |c, i| { + for (source, 0..) |c, i| { if (c == '\"' or c == '\'') { source = source[i..]; break; diff --git a/src/translate_c/ast.zig b/src/translate_c/ast.zig index 78175a611b5058bf955e635e97ab206bf88fb80b..81a19eb39d130638e8bc190d62cd0587f472fc0e 100644 --- a/src/translate_c/ast.zig +++ b/src/translate_c/ast.zig @@ -1765,7 +1765,7 @@ fn renderNode(c: *Context, node: Node) Allocator.Error!NodeIndex { _ = try c.addToken(.l_brace, "{"); var cases = try c.gpa.alloc(NodeIndex, payload.cases.len); defer c.gpa.free(cases); - for (payload.cases) |case, i| { + for (payload.cases, 0..) |case, i| { cases[i] = try renderNode(c, case); _ = try c.addToken(.comma, ","); } @@ -1800,7 +1800,7 @@ fn renderNode(c: *Context, node: Node) Allocator.Error!NodeIndex { var items = try c.gpa.alloc(NodeIndex, std.math.max(payload.cases.len, 1)); defer c.gpa.free(items); items[0] = 0; - for (payload.cases) |item, i| { + for (payload.cases, 0..) |item, i| { if (i != 0) _ = try c.addToken(.comma, ","); items[i] = try renderNode(c, item); } @@ -1950,7 +1950,7 @@ fn renderNode(c: *Context, node: Node) Allocator.Error!NodeIndex { defer c.gpa.free(inits); inits[0] = 0; inits[1] = 0; - for (payload) |init, i| { + for (payload, 0..) |init, i| { if (i != 0) _ = try c.addToken(.comma, ","); inits[i] = try renderNode(c, init); } @@ -1984,7 +1984,7 @@ fn renderNode(c: *Context, node: Node) Allocator.Error!NodeIndex { defer c.gpa.free(inits); inits[0] = 0; inits[1] = 0; - for (payload) |init, i| { + for (payload, 0..) |init, i| { _ = try c.addToken(.period, "."); _ = try c.addIdentifier(init.name); _ = try c.addToken(.equal, "="); @@ -2022,7 +2022,7 @@ fn renderNode(c: *Context, node: Node) Allocator.Error!NodeIndex { var inits = try c.gpa.alloc(NodeIndex, std.math.max(payload.inits.len, 1)); defer c.gpa.free(inits); inits[0] = 0; - for (payload.inits) |init, i| { + for (payload.inits, 0..) |init, i| { _ = try c.addToken(.period, "."); _ = try c.addIdentifier(init.name); _ = try c.addToken(.equal, "="); @@ -2080,7 +2080,7 @@ fn renderRecord(c: *Context, node: Node) !NodeIndex { members[0] = 0; members[1] = 0; - for (payload.fields) |field, i| { + for (payload.fields, 0..) |field, i| { const name_tok = try c.addTokenFmt(.identifier, "{s}", .{std.zig.fmtId(field.name)}); _ = try c.addToken(.colon, ":"); const type_expr = try renderNode(c, field.type); @@ -2116,10 +2116,10 @@ fn renderRecord(c: *Context, node: Node) !NodeIndex { }); _ = try c.addToken(.comma, ","); } - for (payload.variables) |variable, i| { + for (payload.variables, 0..) |variable, i| { members[payload.fields.len + i] = try renderNode(c, variable); } - for (payload.functions) |function, i| { + for (payload.functions, 0..) |function, i| { members[payload.fields.len + num_vars + i] = try renderNode(c, function); } _ = try c.addToken(.r_brace, "}"); @@ -2171,7 +2171,7 @@ fn renderArrayInit(c: *Context, lhs: NodeIndex, inits: []const Node) !NodeIndex var rendered = try c.gpa.alloc(NodeIndex, std.math.max(inits.len, 1)); defer c.gpa.free(rendered); rendered[0] = 0; - for (inits) |init, i| { + for (inits, 0..) |init, i| { rendered[i] = try renderNode(c, init); _ = try c.addToken(.comma, ","); } @@ -2539,7 +2539,7 @@ fn renderCall(c: *Context, lhs: NodeIndex, args: []const Node) !NodeIndex { var rendered = try c.gpa.alloc(NodeIndex, args.len); defer c.gpa.free(rendered); - for (args) |arg, i| { + for (args, 0..) |arg, i| { if (i != 0) _ = try c.addToken(.comma, ","); rendered[i] = try renderNode(c, arg); } @@ -2879,7 +2879,7 @@ fn renderParams(c: *Context, params: []Payload.Param, is_var_args: bool) !std.Ar var rendered = try std.ArrayList(NodeIndex).initCapacity(c.gpa, std.math.max(params.len, 1)); errdefer rendered.deinit(); - for (params) |param, i| { + for (params, 0..) |param, i| { if (i != 0) _ = try c.addToken(.comma, ","); if (param.is_noalias) _ = try c.addToken(.keyword_noalias, "noalias"); if (param.name) |some| { diff --git a/src/type.zig b/src/type.zig index 6226a7f2f727401351a4616fa1a8b75d3199f616..ec4db8689f5c8453e15939c73db12b48b3e74bae 100644 --- a/src/type.zig +++ b/src/type.zig @@ -628,7 +628,7 @@ pub const Type = extern union { const a_set = a.errorSetNames(); const b_set = b.errorSetNames(); if (a_set.len != b_set.len) return false; - for (a_set) |a_item, i| { + for (a_set, 0..) |a_item, i| { const b_item = b_set[i]; if (!std.mem.eql(u8, a_item, b_item)) return false; } @@ -675,7 +675,7 @@ pub const Type = extern union { if (a_info.param_types.len != b_info.param_types.len) return false; - for (a_info.param_types) |a_param_ty, i| { + for (a_info.param_types, 0..) |a_param_ty, i| { const b_param_ty = b_info.param_types[i]; if (a_info.comptime_params[i] != b_info.comptime_params[i]) return false; @@ -824,12 +824,12 @@ pub const Type = extern union { if (a_tuple.types.len != b_tuple.types.len) return false; - for (a_tuple.types) |a_ty, i| { + for (a_tuple.types, 0..) |a_ty, i| { const b_ty = b_tuple.types[i]; if (!eql(a_ty, b_ty, mod)) return false; } - for (a_tuple.values) |a_val, i| { + for (a_tuple.values, 0..) |a_val, i| { const ty = a_tuple.types[i]; const b_val = b_tuple.values[i]; if (a_val.tag() == .unreachable_value) { @@ -855,17 +855,17 @@ pub const Type = extern union { if (a_struct_obj.types.len != b_struct_obj.types.len) return false; - for (a_struct_obj.names) |a_name, i| { + for (a_struct_obj.names, 0..) |a_name, i| { const b_name = b_struct_obj.names[i]; if (!std.mem.eql(u8, a_name, b_name)) return false; } - for (a_struct_obj.types) |a_ty, i| { + for (a_struct_obj.types, 0..) |a_ty, i| { const b_ty = b_struct_obj.types[i]; if (!eql(a_ty, b_ty, mod)) return false; } - for (a_struct_obj.values) |a_val, i| { + for (a_struct_obj.values, 0..) |a_val, i| { const ty = a_struct_obj.types[i]; const b_val = b_struct_obj.values[i]; if (a_val.tag() == .unreachable_value) { @@ -1073,7 +1073,7 @@ pub const Type = extern union { std.hash.autoHash(hasher, fn_info.noalias_bits); std.hash.autoHash(hasher, fn_info.param_types.len); - for (fn_info.param_types) |param_ty, i| { + for (fn_info.param_types, 0..) |param_ty, i| { std.hash.autoHash(hasher, fn_info.paramIsComptime(i)); if (param_ty.tag() == .generic_poison) continue; hashWithHasher(param_ty, hasher, mod); @@ -1175,7 +1175,7 @@ pub const Type = extern union { const tuple = ty.tupleFields(); std.hash.autoHash(hasher, tuple.types.len); - for (tuple.types) |field_ty, i| { + for (tuple.types, 0..) |field_ty, i| { hashWithHasher(field_ty, hasher, mod); const field_val = tuple.values[i]; if (field_val.tag() == .unreachable_value) continue; @@ -1187,7 +1187,7 @@ pub const Type = extern union { std.hash.autoHash(hasher, std.builtin.TypeId.Struct); std.hash.autoHash(hasher, struct_obj.types.len); - for (struct_obj.types) |field_ty, i| { + for (struct_obj.types, 0..) |field_ty, i| { const field_name = struct_obj.names[i]; const field_val = struct_obj.values[i]; hasher.update(field_name); @@ -1403,10 +1403,10 @@ pub const Type = extern union { const payload = self.castTag(.tuple).?.data; const types = try allocator.alloc(Type, payload.types.len); const values = try allocator.alloc(Value, payload.values.len); - for (payload.types) |ty, i| { + for (payload.types, 0..) |ty, i| { types[i] = try ty.copy(allocator); } - for (payload.values) |val, i| { + for (payload.values, 0..) |val, i| { values[i] = try val.copy(allocator); } return Tag.tuple.create(allocator, .{ @@ -1419,13 +1419,13 @@ pub const Type = extern union { const names = try allocator.alloc([]const u8, payload.names.len); const types = try allocator.alloc(Type, payload.types.len); const values = try allocator.alloc(Value, payload.values.len); - for (payload.names) |name, i| { + for (payload.names, 0..) |name, i| { names[i] = try allocator.dupe(u8, name); } - for (payload.types) |ty, i| { + for (payload.types, 0..) |ty, i| { types[i] = try ty.copy(allocator); } - for (payload.values) |val, i| { + for (payload.values, 0..) |val, i| { values[i] = try val.copy(allocator); } return Tag.anon_struct.create(allocator, .{ @@ -1437,7 +1437,7 @@ pub const Type = extern union { .function => { const payload = self.castTag(.function).?.data; const param_types = try allocator.alloc(Type, payload.param_types.len); - for (payload.param_types) |param_ty, i| { + for (payload.param_types, 0..) |param_ty, i| { param_types[i] = try param_ty.copy(allocator); } const other_comptime_params = payload.comptime_params[0..payload.param_types.len]; @@ -1678,7 +1678,7 @@ pub const Type = extern union { .function => { const payload = ty.castTag(.function).?.data; try writer.writeAll("fn("); - for (payload.param_types) |param_type, i| { + for (payload.param_types, 0..) |param_type, i| { if (i != 0) try writer.writeAll(", "); try param_type.dump("", .{}, writer); } @@ -1739,7 +1739,7 @@ pub const Type = extern union { .tuple => { const tuple = ty.castTag(.tuple).?.data; try writer.writeAll("tuple{"); - for (tuple.types) |field_ty, i| { + for (tuple.types, 0..) |field_ty, i| { if (i != 0) try writer.writeAll(", "); const val = tuple.values[i]; if (val.tag() != .unreachable_value) { @@ -1756,7 +1756,7 @@ pub const Type = extern union { .anon_struct => { const anon_struct = ty.castTag(.anon_struct).?.data; try writer.writeAll("struct{"); - for (anon_struct.types) |field_ty, i| { + for (anon_struct.types, 0..) |field_ty, i| { if (i != 0) try writer.writeAll(", "); const val = anon_struct.values[i]; if (val.tag() != .unreachable_value) { @@ -1892,7 +1892,7 @@ pub const Type = extern union { .error_set => { const names = ty.castTag(.error_set).?.data.names.keys(); try writer.writeAll("error{"); - for (names) |name, i| { + for (names, 0..) |name, i| { if (i != 0) try writer.writeByte(','); try writer.writeAll(name); } @@ -1908,7 +1908,7 @@ pub const Type = extern union { .error_set_merged => { const names = ty.castTag(.error_set_merged).?.data.keys(); try writer.writeAll("error{"); - for (names) |name, i| { + for (names, 0..) |name, i| { if (i != 0) try writer.writeByte(','); try writer.writeAll(name); } @@ -2063,7 +2063,7 @@ pub const Type = extern union { .function => { const fn_info = ty.fnInfo(); try writer.writeAll("fn("); - for (fn_info.param_types) |param_ty, i| { + for (fn_info.param_types, 0..) |param_ty, i| { if (i != 0) try writer.writeAll(", "); if (fn_info.paramIsComptime(i)) { try writer.writeAll("comptime "); @@ -2137,7 +2137,7 @@ pub const Type = extern union { const tuple = ty.castTag(.tuple).?.data; try writer.writeAll("tuple{"); - for (tuple.types) |field_ty, i| { + for (tuple.types, 0..) |field_ty, i| { if (i != 0) try writer.writeAll(", "); const val = tuple.values[i]; if (val.tag() != .unreachable_value) { @@ -2154,7 +2154,7 @@ pub const Type = extern union { const anon_struct = ty.castTag(.anon_struct).?.data; try writer.writeAll("struct{"); - for (anon_struct.types) |field_ty, i| { + for (anon_struct.types, 0..) |field_ty, i| { if (i != 0) try writer.writeAll(", "); const val = anon_struct.values[i]; if (val.tag() != .unreachable_value) { @@ -2253,7 +2253,7 @@ pub const Type = extern union { .error_set => { const names = ty.castTag(.error_set).?.data.names.keys(); try writer.writeAll("error{"); - for (names) |name, i| { + for (names, 0..) |name, i| { if (i != 0) try writer.writeByte(','); try writer.writeAll(name); } @@ -2266,7 +2266,7 @@ pub const Type = extern union { .error_set_merged => { const names = ty.castTag(.error_set_merged).?.data.keys(); try writer.writeAll("error{"); - for (names) |name, i| { + for (names, 0..) |name, i| { if (i != 0) try writer.writeByte(','); try writer.writeAll(name); } @@ -2568,7 +2568,7 @@ pub const Type = extern union { .tuple, .anon_struct => { const tuple = ty.tupleFields(); - for (tuple.types) |field_ty, i| { + for (tuple.types, 0..) |field_ty, i| { const val = tuple.values[i]; if (val.tag() != .unreachable_value) continue; // comptime field if (try field_ty.hasRuntimeBitsAdvanced(ignore_comptime_only, strat)) return true; @@ -3125,7 +3125,7 @@ pub const Type = extern union { .tuple, .anon_struct => { const tuple = ty.tupleFields(); var big_align: u32 = 0; - for (tuple.types) |field_ty, i| { + for (tuple.types, 0..) |field_ty, i| { const val = tuple.values[i]; if (val.tag() != .unreachable_value) continue; // comptime field if (!(field_ty.hasRuntimeBits())) continue; @@ -5044,7 +5044,7 @@ pub const Type = extern union { .tuple, .anon_struct => { const tuple = ty.tupleFields(); - for (tuple.values) |val, i| { + for (tuple.values, 0..) |val, i| { const is_comptime = val.tag() != .unreachable_value; if (is_comptime) continue; if (tuple.types[i].onePossibleValue() != null) continue; @@ -5256,7 +5256,7 @@ pub const Type = extern union { .tuple, .anon_struct => { const tuple = ty.tupleFields(); - for (tuple.types) |field_ty, i| { + for (tuple.types, 0..) |field_ty, i| { const have_comptime_val = tuple.values[i].tag() != .unreachable_value; if (!have_comptime_val and field_ty.comptimeOnly()) return true; } @@ -5753,7 +5753,7 @@ pub const Type = extern union { var bit_offset: u16 = undefined; var elem_size_bits: u16 = undefined; var running_bits: u16 = 0; - for (struct_obj.fields.values()) |f, i| { + for (struct_obj.fields.values(), 0..) |f, i| { if (!f.ty.hasRuntimeBits()) continue; const field_bits = @intCast(u16, f.ty.bitSize(target)); @@ -5834,7 +5834,7 @@ pub const Type = extern union { var offset: u64 = 0; var big_align: u32 = 0; - for (tuple.types) |field_ty, i| { + for (tuple.types, 0..) |field_ty, i| { const field_val = tuple.values[i]; if (field_val.tag() != .unreachable_value or !field_ty.hasRuntimeBits()) { // comptime field diff --git a/src/value.zig b/src/value.zig index 98842a4ca7a2d43909bff8dc074082ebfc387eff..0d80bf79271489e0889177cfddcb739ce5ffbb5a 100644 --- a/src/value.zig +++ b/src/value.zig @@ -614,7 +614,7 @@ pub const Value = extern union { .base = payload.base, .data = try arena.alloc(Value, payload.data.len), }; - for (new_payload.data) |*elem, i| { + for (new_payload.data, 0..) |*elem, i| { elem.* = try payload.data[i].copy(arena); } return Value{ .ptr_otherwise = &new_payload.base }; @@ -891,7 +891,7 @@ pub const Value = extern union { fn arrayToAllocatedBytes(val: Value, len: u64, allocator: Allocator, mod: *Module) ![]u8 { const result = try allocator.alloc(u8, @intCast(usize, len)); var elem_value_buf: ElemValueBuffer = undefined; - for (result) |*elem, i| { + for (result, 0..) |*elem, i| { const elem_val = val.elemValueBuffer(mod, i, &elem_value_buf); elem.* = @intCast(u8, elem_val.toUnsignedInt(mod.getTarget())); } @@ -1282,7 +1282,7 @@ pub const Value = extern union { .int_i64 => @bitCast(u64, int_val.castTag(.int_i64).?.data), else => unreachable, }; - for (buffer[0..byte_count]) |_, i| switch (endian) { + for (buffer[0..byte_count], 0..) |_, i| switch (endian) { .Little => buffer[i] = @truncate(u8, (int >> @intCast(u6, (8 * i)))), .Big => buffer[byte_count - i - 1] = @truncate(u8, (int >> @intCast(u6, (8 * i)))), }; @@ -1324,7 +1324,7 @@ pub const Value = extern union { .Extern => { const fields = ty.structFields().values(); const field_vals = val.castTag(.aggregate).?.data; - for (fields) |field, i| { + for (fields, 0..) |field, i| { const off = @intCast(usize, ty.structFieldOffset(i, target)); writeToMemory(field_vals[i], field.ty, mod, buffer[off..]); } @@ -1431,7 +1431,7 @@ pub const Value = extern union { var bits: u16 = 0; const fields = ty.structFields().values(); const field_vals = val.castTag(.aggregate).?.data; - for (fields) |field, i| { + for (fields, 0..) |field, i| { const field_bits = @intCast(u16, field.ty.bitSize(target)); field_vals[i].writeToPackedMemory(field.ty, mod, buffer, bit_offset + bits); bits += field_bits; @@ -1529,7 +1529,7 @@ pub const Value = extern union { .Extern => { const fields = ty.structFields().values(); const field_vals = try arena.alloc(Value, fields.len); - for (fields) |field, i| { + for (fields, 0..) |field, i| { const off = @intCast(usize, ty.structFieldOffset(i, target)); const sz = @intCast(usize, ty.structFieldType(i).abiSize(target)); field_vals[i] = try readFromMemory(field.ty, mod, buffer[off..(off + sz)], arena); @@ -1617,7 +1617,7 @@ pub const Value = extern union { var bits: u16 = 0; const elem_bit_size = @intCast(u16, elem_ty.bitSize(target)); - for (elems) |_, i| { + for (elems, 0..) |_, i| { // On big-endian systems, LLVM reverses the element order of vectors by default const tgt_elem_i = if (endian == .Big) elems.len - i - 1 else i; elems[tgt_elem_i] = try readFromPackedMemory(elem_ty, mod, buffer, bit_offset + bits, arena); @@ -1632,7 +1632,7 @@ pub const Value = extern union { var bits: u16 = 0; const fields = ty.structFields().values(); const field_vals = try arena.alloc(Value, fields.len); - for (fields) |field, i| { + for (fields, 0..) |field, i| { const field_bits = @intCast(u16, field.ty.bitSize(target)); field_vals[i] = try readFromPackedMemory(field.ty, mod, buffer, bit_offset + bits, arena); bits += field_bits; @@ -2259,7 +2259,7 @@ pub const Value = extern union { if (ty.isSimpleTupleOrAnonStruct()) { const types = ty.tupleFields().types; assert(types.len == a_field_vals.len); - for (types) |field_ty, i| { + for (types, 0..) |field_ty, i| { if (!(try eqlAdvanced(a_field_vals[i], field_ty, b_field_vals[i], field_ty, mod, opt_sema))) { return false; } @@ -2270,7 +2270,7 @@ pub const Value = extern union { if (ty.zigTypeTag() == .Struct) { const fields = ty.structFields().values(); assert(fields.len == a_field_vals.len); - for (fields) |field, i| { + for (fields, 0..) |field, i| { if (!(try eqlAdvanced(a_field_vals[i], field.ty, b_field_vals[i], field.ty, mod, opt_sema))) { return false; } @@ -2279,7 +2279,7 @@ pub const Value = extern union { } const elem_ty = ty.childType(); - for (a_field_vals) |a_elem, i| { + for (a_field_vals, 0..) |a_elem, i| { const b_elem = b_field_vals[i]; if (!(try eqlAdvanced(a_elem, elem_ty, b_elem, elem_ty, mod, opt_sema))) { @@ -2526,7 +2526,7 @@ pub const Value = extern union { .empty_struct_value => {}, .aggregate => { const field_values = val.castTag(.aggregate).?.data; - for (field_values) |field_val, i| { + for (field_values, 0..) |field_val, i| { const field_ty = ty.structFieldType(i); field_val.hash(field_ty, hasher, mod); } @@ -3228,7 +3228,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (int_ty.zigTypeTag() == .Vector) { const result_data = try arena.alloc(Value, int_ty.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var buf: Value.ElemValueBuffer = undefined; const elem_val = val.elemValueBuffer(mod, i, &buf); scalar.* = try intToFloatScalar(elem_val, arena, float_ty.scalarType(), target, opt_sema); @@ -3341,7 +3341,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (ty.zigTypeTag() == .Vector) { const result_data = try arena.alloc(Value, ty.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var lhs_buf: Value.ElemValueBuffer = undefined; var rhs_buf: Value.ElemValueBuffer = undefined; const lhs_elem = lhs.elemValueBuffer(mod, i, &lhs_buf); @@ -3390,7 +3390,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (ty.zigTypeTag() == .Vector) { const result_data = try arena.alloc(Value, ty.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var lhs_buf: Value.ElemValueBuffer = undefined; var rhs_buf: Value.ElemValueBuffer = undefined; const lhs_elem = lhs.elemValueBuffer(mod, i, &lhs_buf); @@ -3439,7 +3439,7 @@ pub const Value = extern union { if (ty.zigTypeTag() == .Vector) { const overflowed_data = try arena.alloc(Value, ty.vectorLen()); const result_data = try arena.alloc(Value, ty.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var lhs_buf: Value.ElemValueBuffer = undefined; var rhs_buf: Value.ElemValueBuffer = undefined; const lhs_elem = lhs.elemValueBuffer(mod, i, &lhs_buf); @@ -3501,7 +3501,7 @@ pub const Value = extern union { ) !Value { if (ty.zigTypeTag() == .Vector) { const result_data = try arena.alloc(Value, ty.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var lhs_buf: Value.ElemValueBuffer = undefined; var rhs_buf: Value.ElemValueBuffer = undefined; const lhs_elem = lhs.elemValueBuffer(mod, i, &lhs_buf); @@ -3546,7 +3546,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (ty.zigTypeTag() == .Vector) { const result_data = try arena.alloc(Value, ty.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var lhs_buf: Value.ElemValueBuffer = undefined; var rhs_buf: Value.ElemValueBuffer = undefined; const lhs_elem = lhs.elemValueBuffer(mod, i, &lhs_buf); @@ -3622,7 +3622,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (ty.zigTypeTag() == .Vector) { const result_data = try arena.alloc(Value, ty.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var buf: Value.ElemValueBuffer = undefined; const elem_val = val.elemValueBuffer(mod, i, &buf); scalar.* = try bitwiseNotScalar(elem_val, ty.scalarType(), arena, target); @@ -3661,7 +3661,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (ty.zigTypeTag() == .Vector) { const result_data = try allocator.alloc(Value, ty.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var lhs_buf: Value.ElemValueBuffer = undefined; var rhs_buf: Value.ElemValueBuffer = undefined; const lhs_elem = lhs.elemValueBuffer(mod, i, &lhs_buf); @@ -3697,7 +3697,7 @@ pub const Value = extern union { pub fn bitwiseNand(lhs: Value, rhs: Value, ty: Type, arena: Allocator, mod: *Module) !Value { if (ty.zigTypeTag() == .Vector) { const result_data = try arena.alloc(Value, ty.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var lhs_buf: Value.ElemValueBuffer = undefined; var rhs_buf: Value.ElemValueBuffer = undefined; const lhs_elem = lhs.elemValueBuffer(mod, i, &lhs_buf); @@ -3728,7 +3728,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (ty.zigTypeTag() == .Vector) { const result_data = try allocator.alloc(Value, ty.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var lhs_buf: Value.ElemValueBuffer = undefined; var rhs_buf: Value.ElemValueBuffer = undefined; const lhs_elem = lhs.elemValueBuffer(mod, i, &lhs_buf); @@ -3764,7 +3764,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (ty.zigTypeTag() == .Vector) { const result_data = try allocator.alloc(Value, ty.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var lhs_buf: Value.ElemValueBuffer = undefined; var rhs_buf: Value.ElemValueBuffer = undefined; const lhs_elem = lhs.elemValueBuffer(mod, i, &lhs_buf); @@ -3800,7 +3800,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (ty.zigTypeTag() == .Vector) { const result_data = try allocator.alloc(Value, ty.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var lhs_buf: Value.ElemValueBuffer = undefined; var rhs_buf: Value.ElemValueBuffer = undefined; const lhs_elem = lhs.elemValueBuffer(mod, i, &lhs_buf); @@ -3841,7 +3841,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (ty.zigTypeTag() == .Vector) { const result_data = try allocator.alloc(Value, ty.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var lhs_buf: Value.ElemValueBuffer = undefined; var rhs_buf: Value.ElemValueBuffer = undefined; const lhs_elem = lhs.elemValueBuffer(mod, i, &lhs_buf); @@ -3882,7 +3882,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (ty.zigTypeTag() == .Vector) { const result_data = try allocator.alloc(Value, ty.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var lhs_buf: Value.ElemValueBuffer = undefined; var rhs_buf: Value.ElemValueBuffer = undefined; const lhs_elem = lhs.elemValueBuffer(mod, i, &lhs_buf); @@ -3958,7 +3958,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (float_type.zigTypeTag() == .Vector) { const result_data = try arena.alloc(Value, float_type.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var lhs_buf: Value.ElemValueBuffer = undefined; var rhs_buf: Value.ElemValueBuffer = undefined; const lhs_elem = lhs.elemValueBuffer(mod, i, &lhs_buf); @@ -4005,7 +4005,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (float_type.zigTypeTag() == .Vector) { const result_data = try arena.alloc(Value, float_type.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var lhs_buf: Value.ElemValueBuffer = undefined; var rhs_buf: Value.ElemValueBuffer = undefined; const lhs_elem = lhs.elemValueBuffer(mod, i, &lhs_buf); @@ -4052,7 +4052,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (ty.zigTypeTag() == .Vector) { const result_data = try allocator.alloc(Value, ty.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var lhs_buf: Value.ElemValueBuffer = undefined; var rhs_buf: Value.ElemValueBuffer = undefined; const lhs_elem = lhs.elemValueBuffer(mod, i, &lhs_buf); @@ -4089,7 +4089,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (ty.zigTypeTag() == .Vector) { const result_data = try allocator.alloc(Value, ty.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var buf: Value.ElemValueBuffer = undefined; const elem_val = val.elemValueBuffer(mod, i, &buf); scalar.* = try intTruncScalar(elem_val, allocator, signedness, bits, target); @@ -4111,7 +4111,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (ty.zigTypeTag() == .Vector) { const result_data = try allocator.alloc(Value, ty.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var buf: Value.ElemValueBuffer = undefined; const elem_val = val.elemValueBuffer(mod, i, &buf); var bits_buf: Value.ElemValueBuffer = undefined; @@ -4143,7 +4143,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (ty.zigTypeTag() == .Vector) { const result_data = try allocator.alloc(Value, ty.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var lhs_buf: Value.ElemValueBuffer = undefined; var rhs_buf: Value.ElemValueBuffer = undefined; const lhs_elem = lhs.elemValueBuffer(mod, i, &lhs_buf); @@ -4185,7 +4185,7 @@ pub const Value = extern union { if (ty.zigTypeTag() == .Vector) { const overflowed_data = try allocator.alloc(Value, ty.vectorLen()); const result_data = try allocator.alloc(Value, ty.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var lhs_buf: Value.ElemValueBuffer = undefined; var rhs_buf: Value.ElemValueBuffer = undefined; const lhs_elem = lhs.elemValueBuffer(mod, i, &lhs_buf); @@ -4243,7 +4243,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (ty.zigTypeTag() == .Vector) { const result_data = try arena.alloc(Value, ty.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var lhs_buf: Value.ElemValueBuffer = undefined; var rhs_buf: Value.ElemValueBuffer = undefined; const lhs_elem = lhs.elemValueBuffer(mod, i, &lhs_buf); @@ -4291,7 +4291,7 @@ pub const Value = extern union { ) !Value { if (ty.zigTypeTag() == .Vector) { const result_data = try arena.alloc(Value, ty.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var lhs_buf: Value.ElemValueBuffer = undefined; var rhs_buf: Value.ElemValueBuffer = undefined; const lhs_elem = lhs.elemValueBuffer(mod, i, &lhs_buf); @@ -4320,7 +4320,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (ty.zigTypeTag() == .Vector) { const result_data = try allocator.alloc(Value, ty.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var lhs_buf: Value.ElemValueBuffer = undefined; var rhs_buf: Value.ElemValueBuffer = undefined; const lhs_elem = lhs.elemValueBuffer(mod, i, &lhs_buf); @@ -4372,7 +4372,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (float_type.zigTypeTag() == .Vector) { const result_data = try arena.alloc(Value, float_type.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var buf: Value.ElemValueBuffer = undefined; const elem_val = val.elemValueBuffer(mod, i, &buf); scalar.* = try floatNegScalar(elem_val, float_type.scalarType(), arena, target); @@ -4408,7 +4408,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (float_type.zigTypeTag() == .Vector) { const result_data = try arena.alloc(Value, float_type.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var lhs_buf: Value.ElemValueBuffer = undefined; var rhs_buf: Value.ElemValueBuffer = undefined; const lhs_elem = lhs.elemValueBuffer(mod, i, &lhs_buf); @@ -4467,7 +4467,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (float_type.zigTypeTag() == .Vector) { const result_data = try arena.alloc(Value, float_type.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var lhs_buf: Value.ElemValueBuffer = undefined; var rhs_buf: Value.ElemValueBuffer = undefined; const lhs_elem = lhs.elemValueBuffer(mod, i, &lhs_buf); @@ -4526,7 +4526,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (float_type.zigTypeTag() == .Vector) { const result_data = try arena.alloc(Value, float_type.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var lhs_buf: Value.ElemValueBuffer = undefined; var rhs_buf: Value.ElemValueBuffer = undefined; const lhs_elem = lhs.elemValueBuffer(mod, i, &lhs_buf); @@ -4585,7 +4585,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (float_type.zigTypeTag() == .Vector) { const result_data = try arena.alloc(Value, float_type.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var lhs_buf: Value.ElemValueBuffer = undefined; var rhs_buf: Value.ElemValueBuffer = undefined; const lhs_elem = lhs.elemValueBuffer(mod, i, &lhs_buf); @@ -4638,7 +4638,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (float_type.zigTypeTag() == .Vector) { const result_data = try arena.alloc(Value, float_type.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var buf: Value.ElemValueBuffer = undefined; const elem_val = val.elemValueBuffer(mod, i, &buf); scalar.* = try sqrtScalar(elem_val, float_type.scalarType(), arena, target); @@ -4678,7 +4678,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (float_type.zigTypeTag() == .Vector) { const result_data = try arena.alloc(Value, float_type.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var buf: Value.ElemValueBuffer = undefined; const elem_val = val.elemValueBuffer(mod, i, &buf); scalar.* = try sinScalar(elem_val, float_type.scalarType(), arena, target); @@ -4718,7 +4718,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (float_type.zigTypeTag() == .Vector) { const result_data = try arena.alloc(Value, float_type.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var buf: Value.ElemValueBuffer = undefined; const elem_val = val.elemValueBuffer(mod, i, &buf); scalar.* = try cosScalar(elem_val, float_type.scalarType(), arena, target); @@ -4758,7 +4758,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (float_type.zigTypeTag() == .Vector) { const result_data = try arena.alloc(Value, float_type.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var buf: Value.ElemValueBuffer = undefined; const elem_val = val.elemValueBuffer(mod, i, &buf); scalar.* = try tanScalar(elem_val, float_type.scalarType(), arena, target); @@ -4798,7 +4798,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (float_type.zigTypeTag() == .Vector) { const result_data = try arena.alloc(Value, float_type.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var buf: Value.ElemValueBuffer = undefined; const elem_val = val.elemValueBuffer(mod, i, &buf); scalar.* = try expScalar(elem_val, float_type.scalarType(), arena, target); @@ -4838,7 +4838,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (float_type.zigTypeTag() == .Vector) { const result_data = try arena.alloc(Value, float_type.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var buf: Value.ElemValueBuffer = undefined; const elem_val = val.elemValueBuffer(mod, i, &buf); scalar.* = try exp2Scalar(elem_val, float_type.scalarType(), arena, target); @@ -4878,7 +4878,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (float_type.zigTypeTag() == .Vector) { const result_data = try arena.alloc(Value, float_type.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var buf: Value.ElemValueBuffer = undefined; const elem_val = val.elemValueBuffer(mod, i, &buf); scalar.* = try logScalar(elem_val, float_type.scalarType(), arena, target); @@ -4918,7 +4918,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (float_type.zigTypeTag() == .Vector) { const result_data = try arena.alloc(Value, float_type.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var buf: Value.ElemValueBuffer = undefined; const elem_val = val.elemValueBuffer(mod, i, &buf); scalar.* = try log2Scalar(elem_val, float_type.scalarType(), arena, target); @@ -4958,7 +4958,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (float_type.zigTypeTag() == .Vector) { const result_data = try arena.alloc(Value, float_type.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var buf: Value.ElemValueBuffer = undefined; const elem_val = val.elemValueBuffer(mod, i, &buf); scalar.* = try log10Scalar(elem_val, float_type.scalarType(), arena, target); @@ -4998,7 +4998,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (float_type.zigTypeTag() == .Vector) { const result_data = try arena.alloc(Value, float_type.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var buf: Value.ElemValueBuffer = undefined; const elem_val = val.elemValueBuffer(mod, i, &buf); scalar.* = try fabsScalar(elem_val, float_type.scalarType(), arena, target); @@ -5038,7 +5038,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (float_type.zigTypeTag() == .Vector) { const result_data = try arena.alloc(Value, float_type.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var buf: Value.ElemValueBuffer = undefined; const elem_val = val.elemValueBuffer(mod, i, &buf); scalar.* = try floorScalar(elem_val, float_type.scalarType(), arena, target); @@ -5078,7 +5078,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (float_type.zigTypeTag() == .Vector) { const result_data = try arena.alloc(Value, float_type.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var buf: Value.ElemValueBuffer = undefined; const elem_val = val.elemValueBuffer(mod, i, &buf); scalar.* = try ceilScalar(elem_val, float_type.scalarType(), arena, target); @@ -5118,7 +5118,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (float_type.zigTypeTag() == .Vector) { const result_data = try arena.alloc(Value, float_type.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var buf: Value.ElemValueBuffer = undefined; const elem_val = val.elemValueBuffer(mod, i, &buf); scalar.* = try roundScalar(elem_val, float_type.scalarType(), arena, target); @@ -5158,7 +5158,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (float_type.zigTypeTag() == .Vector) { const result_data = try arena.alloc(Value, float_type.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var buf: Value.ElemValueBuffer = undefined; const elem_val = val.elemValueBuffer(mod, i, &buf); scalar.* = try truncScalar(elem_val, float_type.scalarType(), arena, target); @@ -5205,7 +5205,7 @@ pub const Value = extern union { const target = mod.getTarget(); if (float_type.zigTypeTag() == .Vector) { const result_data = try arena.alloc(Value, float_type.vectorLen()); - for (result_data) |*scalar, i| { + for (result_data, 0..) |*scalar, i| { var mulend1_buf: Value.ElemValueBuffer = undefined; const mulend1_elem = mulend1.elemValueBuffer(mod, i, &mulend1_buf); var mulend2_buf: Value.ElemValueBuffer = undefined; diff --git a/tools/gen_spirv_spec.zig b/tools/gen_spirv_spec.zig index 426276122cdab04761401c55eb3a8282dd7b5ceb..31dbbb19115d7d5662edc2ea4ee00680d75a5870 100644 --- a/tools/gen_spirv_spec.zig +++ b/tools/gen_spirv_spec.zig @@ -251,7 +251,7 @@ fn renderEnumerant(writer: anytype, enumerant: g.Enumerant) !void { .int => |int| try writer.print("{}", .{int}), } try writer.writeAll(", .parameters = &[_]OperandKind{"); - for (enumerant.parameters) |param, i| { + for (enumerant.parameters, 0..) |param, i| { if (i != 0) try writer.writeAll(", "); // Note, param.quantifier will always be one. @@ -272,7 +272,7 @@ fn renderOpcodes( var aliases = std.ArrayList(struct { inst: usize, alias: usize }).init(allocator); try aliases.ensureTotalCapacity(instructions.len); - for (instructions) |inst, i| { + for (instructions, 0..) |inst, i| { if (std.mem.eql(u8, inst.class.?, "@exclude")) { continue; } @@ -397,7 +397,7 @@ fn renderValueEnum( var aliases = std.ArrayList(struct { enumerant: usize, alias: usize }).init(allocator); try aliases.ensureTotalCapacity(enumerants.len); - for (enumerants) |enumerant, i| { + for (enumerants, 0..) |enumerant, i| { const result = enum_map.getOrPutAssumeCapacity(enumerant.value.int); if (!result.found_existing) { result.value_ptr.* = i; @@ -468,7 +468,7 @@ fn renderBitEnum( var aliases = std.ArrayList(struct { flag: usize, alias: u5 }).init(allocator); try aliases.ensureTotalCapacity(enumerants.len); - for (enumerants) |enumerant, i| { + for (enumerants, 0..) |enumerant, i| { if (enumerant.value != .bitflag) return error.InvalidRegistry; const value = try parseHexInt(enumerant.value.bitflag); if (value == 0) { @@ -494,7 +494,7 @@ fn renderBitEnum( } } - for (flags_by_bitpos) |maybe_flag_index, bitpos| { + for (flags_by_bitpos, 0..) |maybe_flag_index, bitpos| { if (maybe_flag_index) |flag_index| { try writer.print("{}", .{std.zig.fmtId(enumerants[flag_index].enumerant)}); } else { @@ -521,7 +521,7 @@ fn renderBitEnum( try writer.print("\npub const Extended = struct {{\n", .{}); - for (flags_by_bitpos) |maybe_flag_index, bitpos| { + for (flags_by_bitpos, 0..) |maybe_flag_index, bitpos| { const flag_index = maybe_flag_index orelse { try writer.print("_reserved_bit_{}: bool = false,\n", .{bitpos}); continue; @@ -570,7 +570,7 @@ fn renderOperand( try writer.writeAll("struct{"); - for (parameters) |param, j| { + for (parameters, 0..) |param, j| { if (j != 0) { try writer.writeAll(", "); } @@ -642,7 +642,7 @@ fn renderFieldName(writer: anytype, operands: []const g.Operand, field_index: us // Translate to snake case. name_buffer.len = 0; - for (operand.kind) |c, i| { + for (operand.kind, 0..) |c, i| { switch (c) { 'a'...'z', '0'...'9' => try name_buffer.append(c), 'A'...'Z' => if (i > 0 and std.ascii.isLower(operand.kind[i - 1])) { @@ -658,7 +658,7 @@ fn renderFieldName(writer: anytype, operands: []const g.Operand, field_index: us // For fields derived from type name, there could be any amount. // Simply check against all other fields, and if another similar one exists, add a number. - const need_extra_index = for (operands) |other_operand, i| { + const need_extra_index = for (operands, 0..) |other_operand, i| { if (i != field_index and std.mem.eql(u8, operand.kind, other_operand.kind)) { break true; } diff --git a/tools/gen_stubs.zig b/tools/gen_stubs.zig index 89d7a40228a9d3be35a092cbd08c60d7ddf416d6..bc2637e197d8201f25ddd51edb148f877f2a72dc 100644 --- a/tools/gen_stubs.zig +++ b/tools/gen_stubs.zig @@ -45,7 +45,7 @@ const MultiSym = struct { visib: elf.STV, fn allPresent(ms: MultiSym) bool { - for (arches) |_, i| { + for (arches, 0..) |_, i| { if (!ms.present[i]) { return false; } @@ -65,7 +65,7 @@ const MultiSym = struct { fn commonSize(ms: MultiSym) ?u64 { var size: ?u64 = null; - for (arches) |_, i| { + for (arches, 0..) |_, i| { if (!ms.present[i]) continue; if (size) |s| { if (ms.size[i] != s) { @@ -80,7 +80,7 @@ const MultiSym = struct { fn commonBinding(ms: MultiSym) ?u4 { var binding: ?u4 = null; - for (arches) |_, i| { + for (arches, 0..) |_, i| { if (!ms.present[i]) continue; if (binding) |b| { if (ms.binding[i] != b) { @@ -268,7 +268,7 @@ pub fn main() !void { var prev_section: u16 = std.math.maxInt(u16); var prev_pp_state: enum { none, ptr32, special } = .none; - for (sym_table.values()) |multi_sym, sym_index| { + for (sym_table.values(), 0..) |multi_sym, sym_index| { const name = sym_table.keys()[sym_index]; if (multi_sym.section != prev_section) { @@ -309,7 +309,7 @@ pub fn main() !void { var first = true; try stdout.writeAll("#if "); - for (arches) |arch, i| { + for (arches, 0..) |arch, i| { if (multi_sym.present[i]) continue; if (!first) try stdout.writeAll(" && "); @@ -333,7 +333,7 @@ pub fn main() !void { } else if (multi_sym.isWeak64()) { try stdout.print("WEAK64 {s}\n", .{name}); } else { - for (arches) |arch, i| { + for (arches, 0..) |arch, i| { log.info("symbol '{s}' binding on {s}: {d}", .{ name, @tagName(arch), multi_sym.binding[i], }); @@ -355,7 +355,7 @@ pub fn main() !void { } else if (multi_sym.isPtr2Size()) { try stdout.print(".size {s}, PTR2_SIZE_BYTES\n", .{name}); } else { - for (arches) |arch, i| { + for (arches, 0..) |arch, i| { log.info("symbol '{s}' size on {s}: {d}", .{ name, @tagName(arch), multi_sym.size[i], }); @@ -415,7 +415,7 @@ fn parseElf(parse: Parse, comptime is_64: bool, comptime endian: builtin.Endian) // Find the offset of the dynamic symbol table. var dynsym_index: u16 = 0; - for (shdrs) |shdr, i| { + for (shdrs, 0..) |shdr, i| { const sh_name = try arena.dupe(u8, mem.sliceTo(shstrtab[s(shdr.sh_name)..], 0)); log.debug("found section: {s}", .{sh_name}); if (mem.eql(u8, sh_name, ".dynsym")) { @@ -566,7 +566,7 @@ fn archIndex(arch: std.Target.Cpu.Arch) u8 { } fn archSetName(arch_set: [arches.len]bool) []const u8 { - for (arches) |arch, i| { + for (arches, 0..) |arch, i| { if (arch_set[i]) { return @tagName(arch); } diff --git a/tools/update_clang_options.zig b/tools/update_clang_options.zig index 85558576dfbf17e020cabf4328693108bbf6fd5a..a1719c5ab6b5d519a9edc3f4a7a16a4e64543326 100644 --- a/tools/update_clang_options.zig +++ b/tools/update_clang_options.zig @@ -573,7 +573,7 @@ pub fn main() anyerror!void { const Feature = @field(cpu_targets, decl.name).Feature; const all_features = @field(cpu_targets, decl.name).all_features; - for (all_features) |feat, i| { + for (all_features, 0..) |feat, i| { const llvm_name = feat.llvm_name orelse continue; const zig_feat = @intToEnum(Feature, i); const zig_name = @tagName(zig_feat); diff --git a/tools/update_cpu_features.zig b/tools/update_cpu_features.zig index ee92d63227888c68d8307d9b6a8e4d89b24ac3ad..3fef468380f9a24b82887b5432e1dab81ff3ada7 100644 --- a/tools/update_cpu_features.zig +++ b/tools/update_cpu_features.zig @@ -899,7 +899,7 @@ pub fn main() anyerror!void { } } else { var threads = try arena.alloc(std.Thread, llvm_targets.len); - for (llvm_targets) |llvm_target, i| { + for (llvm_targets, 0..) |llvm_target, i| { const job = Job{ .llvm_tblgen_exe = llvm_tblgen_exe, .llvm_src_root = llvm_src_root, @@ -1226,7 +1226,7 @@ fn processOneTarget(job: Job) anyerror!void { } try w.writeAll( \\ const ti = @typeInfo(Feature); - \\ for (result) |*elem, i| { + \\ for (&result, 0..) |*elem, i| { \\ elem.index = i; \\ elem.name = ti.Enum.fields[i].name; \\ } diff --git a/tools/update_crc_catalog.zig b/tools/update_crc_catalog.zig index 8182e8d810bf77246f4149682b4b447c9eccc802..034b7afc9dd8910788ccc291aed9d91d94f355ca 100644 --- a/tools/update_crc_catalog.zig +++ b/tools/update_crc_catalog.zig @@ -116,7 +116,7 @@ pub fn main() anyerror!void { defer buf.deinit(); var prev: u8 = 0; - for (snakecase) |c, i| { + for (snakecase, 0..) |c, i| { if (c == '_') { // do nothing } else if (i == 0) { diff --git a/tools/update_spirv_features.zig b/tools/update_spirv_features.zig index a7eb3c18f92274ef0c48d226f166b0316b4e3377..bb859ed5b453298838d2846f1a81066196ce51b7 100644 --- a/tools/update_spirv_features.zig +++ b/tools/update_spirv_features.zig @@ -130,7 +130,7 @@ pub fn main() !void { \\ ); - for (versions) |ver, i| { + for (versions, 0..) |ver, i| { try w.print( \\ result[@enumToInt(Feature.v{0}_{1})] = .{{ \\ .llvm_name = null, @@ -203,7 +203,7 @@ pub fn main() !void { try w.writeAll( \\ const ti = @typeInfo(Feature); - \\ for (result) |*elem, i| { + \\ for (&result, 0..) |*elem, i| { \\ elem.index = i; \\ elem.name = ti.Enum.fields[i].name; \\ } -- 2.54.0 From a005b5f198827b15ee069839fb9dbb80e66daa06 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sat, 18 Feb 2023 09:24:25 -0700 Subject: [PATCH 15/36] add zig fmt test for upgrading for loop syntax --- lib/std/zig/parser_test.zig | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/lib/std/zig/parser_test.zig b/lib/std/zig/parser_test.zig index 4346ee628694a57abfa39953e1df2e4379e46841..1afc0e2e186173eea8f5d8c4076467b4cf59cc52 100644 --- a/lib/std/zig/parser_test.zig +++ b/lib/std/zig/parser_test.zig @@ -1,3 +1,23 @@ +// TODO: remove this after zig 0.11.0 is released +test "zig fmt: transform old for loop syntax to new" { + try testTransform( + \\fn foo() void { + \\ for (a) |b, i| { + \\ _ = b; _ = i; + \\ } + \\} + \\ + , + \\fn foo() void { + \\ for (a, 0..) |b, i| { + \\ _ = b; + \\ _ = i; + \\ } + \\} + \\ + ); +} + test "zig fmt: tuple struct" { try testCanonical( \\const T = struct { -- 2.54.0 From 552e8095ae62654d0ba7dffbc8e0e1dfb6499c9d Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sat, 18 Feb 2023 10:26:46 -0700 Subject: [PATCH 16/36] update docgen to new for loop syntax --- doc/docgen.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/docgen.zig b/doc/docgen.zig index 82fafe2b6450de73ba3eab2ebb60a4857b237be9..fae513f8c3cd68407f24522f4ee67294003c9f69 100644 --- a/doc/docgen.zig +++ b/doc/docgen.zig @@ -239,7 +239,7 @@ const Tokenizer = struct { .line_start = 0, .line_end = 0, }; - for (self.buffer) |c, i| { + for (self.buffer, 0..) |c, i| { if (i == token.start) { loc.line_end = i; while (loc.line_end < self.buffer.len and self.buffer[loc.line_end] != '\n') : (loc.line_end += 1) {} -- 2.54.0 From f2a6a1756bd3d3e284410c001ee997c4d12a260b Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sat, 18 Feb 2023 10:27:08 -0700 Subject: [PATCH 17/36] Sema: fix for loops with comptime-known int ranges --- src/Sema.zig | 6 +++++- test/behavior/for.zig | 12 ++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/Sema.zig b/src/Sema.zig index fde9072d71a058e6b70e59adb035e9b2a00599ba..980aee720b68c4f342d78f5eeccbe2866bb44ed7 100644 --- a/src/Sema.zig +++ b/src/Sema.zig @@ -3924,7 +3924,11 @@ fn zirForLen(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air. const object_ty = sema.typeOf(object); // Each arg could be an indexable, or a range, in which case the length // is passed directly as an integer. - const arg_len = if (object_ty.zigTypeTag() == .Int) object else l: { + const is_int = switch (object_ty.zigTypeTag()) { + .Int, .ComptimeInt => true, + else => false, + }; + const arg_len = if (is_int) object else l: { try checkIndexable(sema, block, src, object_ty); if (!object_ty.indexableHasLen()) continue; diff --git a/test/behavior/for.zig b/test/behavior/for.zig index c9ae2f4461bc7819046cecb6ba9f74d07ad05f65..20788f7269f12ac0c466f6f3b98da929bed8e99c 100644 --- a/test/behavior/for.zig +++ b/test/behavior/for.zig @@ -249,3 +249,15 @@ test "for loop with else branch" { try expect(q == 4); } } + +test "count over fixed range" { + if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO + + var sum: usize = 0; + for (0..6) |i| { + sum += i; + } + + try expect(sum == 15); +} -- 2.54.0 From b6a5e52decf4494d9506caa929139b630ce08dea Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sat, 18 Feb 2023 10:30:48 -0700 Subject: [PATCH 18/36] add passing for loop test: two counters --- test/behavior/for.zig | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/test/behavior/for.zig b/test/behavior/for.zig index 20788f7269f12ac0c466f6f3b98da929bed8e99c..4704df8bd245c8f3aaa185ae97b4fc1fc957b448 100644 --- a/test/behavior/for.zig +++ b/test/behavior/for.zig @@ -261,3 +261,16 @@ test "count over fixed range" { try expect(sum == 15); } + +test "two counters" { + if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO + + var sum: usize = 0; + for (0..10, 10..20) |i, j| { + sum += 1; + try expect(i + 10 == j); + } + + try expect(sum == 10); +} -- 2.54.0 From 8c96d0dddddfb4cd597661ff47551fcaf67cbf39 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sat, 18 Feb 2023 11:44:38 -0700 Subject: [PATCH 19/36] update test-cases for new for loop syntax --- test/cases/compile_errors/invalid_pointer_for_var_type.zig | 2 +- .../underscore_should_not_be_usable_inside_for.zig | 4 ++-- test/cases/variable_shadowing.3.zig | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/test/cases/compile_errors/invalid_pointer_for_var_type.zig b/test/cases/compile_errors/invalid_pointer_for_var_type.zig index ee193bab152260d2a8065667293434f00fcfbb74..d94c7bd3b811ad4b1e4da421df1b12ba9ae9617b 100644 --- a/test/cases/compile_errors/invalid_pointer_for_var_type.zig +++ b/test/cases/compile_errors/invalid_pointer_for_var_type.zig @@ -1,7 +1,7 @@ extern fn ext() usize; var bytes: [ext()]u8 = undefined; export fn f() void { - for (bytes) |*b, i| { + for (&bytes, 0..) |*b, i| { b.* = @as(u8, i); } } diff --git a/test/cases/compile_errors/underscore_should_not_be_usable_inside_for.zig b/test/cases/compile_errors/underscore_should_not_be_usable_inside_for.zig index 1fb79e11bd702f4694852e6f4d2c7525ad3d05a3..b527d0d17ef019b8c9f738a544715c0c31123516 100644 --- a/test/cases/compile_errors/underscore_should_not_be_usable_inside_for.zig +++ b/test/cases/compile_errors/underscore_should_not_be_usable_inside_for.zig @@ -1,6 +1,6 @@ export fn returns() void { - for ([_]void{}) |_, i| { - for ([_]void{}) |_, j| { + for ([_]void{}, 0..) |_, i| { + for ([_]void{}, 0..) |_, j| { return _; } } diff --git a/test/cases/variable_shadowing.3.zig b/test/cases/variable_shadowing.3.zig index 1e22ccf123dae65c0eec4e1c0b36a3199a35e43b..3d899e72cc86ac3e25e492eff69d2b041b0f670b 100644 --- a/test/cases/variable_shadowing.3.zig +++ b/test/cases/variable_shadowing.3.zig @@ -1,10 +1,10 @@ pub fn main() void { var i = 0; - for ("n") |_, i| { + for ("n", 0..) |_, i| { } } // error // -// :3:19: error: loop index capture 'i' shadows local variable from outer scope +// :3:24: error: capture 'i' shadows local variable from outer scope // :2:9: note: previous declaration here -- 2.54.0 From 209e83f3950e8cb0daca389a4fa7cd79fe60394b Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sat, 18 Feb 2023 11:56:05 -0700 Subject: [PATCH 20/36] AstGen: fix ZIR for for loops accessing instruction out of block --- src/AstGen.zig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/AstGen.zig b/src/AstGen.zig index 9b96b166778c8e7036cab7a5000ac9b16d21cf91..b4fda8e274e61354e45ad1ba2b9823f5439ab762 100644 --- a/src/AstGen.zig +++ b/src/AstGen.zig @@ -6413,6 +6413,8 @@ fn forExpr( defer loop_scope.unstack(); defer loop_scope.labeled_breaks.deinit(gpa); + const index = try loop_scope.addUnNode(.load, index_ptr, node); + var cond_scope = parent_gz.makeSubBlock(&loop_scope.base); defer cond_scope.unstack(); @@ -6420,7 +6422,6 @@ fn forExpr( if (!any_len_checks) { return astgen.failNode(node, "TODO: handle infinite for loop", .{}); } - const index = try cond_scope.addUnNode(.load, index_ptr, node); const cond = try cond_scope.addPlNode(.cmp_lt, node, Zir.Inst.Bin{ .lhs = index, .rhs = len, @@ -10695,7 +10696,6 @@ const Scope = struct { @"function parameter", @"local constant", @"local variable", - @"loop index capture", @"switch tag capture", capture, }; -- 2.54.0 From b13745ac03195c87d9efec2b12f564d4d3cbd477 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sat, 18 Feb 2023 11:56:32 -0700 Subject: [PATCH 21/36] disable failing x86_64 backend tests --- test/behavior/for.zig | 2 ++ test/cases/llvm/for_loop.zig | 2 +- test/tests.zig | 16 ++++++++-------- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/test/behavior/for.zig b/test/behavior/for.zig index 4704df8bd245c8f3aaa185ae97b4fc1fc957b448..67ea5df808d657f4fc3784fbb98154ce6a2e80ba 100644 --- a/test/behavior/for.zig +++ b/test/behavior/for.zig @@ -253,6 +253,7 @@ test "for loop with else branch" { test "count over fixed range" { if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO var sum: usize = 0; for (0..6) |i| { @@ -265,6 +266,7 @@ test "count over fixed range" { test "two counters" { if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO var sum: usize = 0; for (0..10, 10..20) |i, j| { diff --git a/test/cases/llvm/for_loop.zig b/test/cases/llvm/for_loop.zig index e7e701aafaa88ddd9617e9b24db34fe27b71133e..e48f2edd7133128dc2d4a46c87fe35549abd2c1d 100644 --- a/test/cases/llvm/for_loop.zig +++ b/test/cases/llvm/for_loop.zig @@ -11,6 +11,6 @@ pub fn main() void { } // run -// backend=stage2,llvm +// backend=llvm // target=x86_64-linux,x86_64-macos // diff --git a/test/tests.zig b/test/tests.zig index 035311372f6189d251b6a71f0bc2ad6462c74cae..851de9f2a6253f078f336d6a42f602ed88392066 100644 --- a/test/tests.zig +++ b/test/tests.zig @@ -58,14 +58,14 @@ const test_targets = blk: { .link_libc = true, .backend = .stage2_c, }, - .{ - .target = .{ - .cpu_arch = .x86_64, - .os_tag = .linux, - .abi = .none, - }, - .backend = .stage2_x86_64, - }, + //.{ + // .target = .{ + // .cpu_arch = .x86_64, + // .os_tag = .linux, + // .abi = .none, + // }, + // .backend = .stage2_x86_64, + //}, .{ .target = .{ .cpu_arch = .aarch64, -- 2.54.0 From 22965e6fcbafbcba207a6da8eb493af2cf7ef924 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sat, 18 Feb 2023 12:26:22 -0700 Subject: [PATCH 22/36] Sema: improve error message for mismatched for loop lengths --- src/Module.zig | 16 ++++++++++++++++ src/Sema.zig | 27 +++++++++++++++++++++++---- test/cases/compile_errors/for.zig | 13 +++++++++++++ 3 files changed, 52 insertions(+), 4 deletions(-) create mode 100644 test/cases/compile_errors/for.zig diff --git a/src/Module.zig b/src/Module.zig index 4feb04abdd671a018931580976aa27486d65af03..377ccd24413b65525a19c43fb161938d72257ec2 100644 --- a/src/Module.zig +++ b/src/Module.zig @@ -2462,6 +2462,13 @@ pub const SrcLoc = struct { }; return nodeToSpan(tree, src_node); }, + .for_input => |for_input| { + const tree = try src_loc.file_scope.getTree(gpa); + const node = src_loc.declRelativeToNodeIndex(for_input.for_node_offset); + const for_full = tree.fullFor(node).?; + const src_node = for_full.ast.inputs[for_input.input_index]; + return nodeToSpan(tree, src_node); + }, .node_offset_bin_lhs => |node_off| { const tree = try src_loc.file_scope.getTree(gpa); const node = src_loc.declRelativeToNodeIndex(node_off); @@ -3114,6 +3121,14 @@ pub const LazySrcLoc = union(enum) { /// The source location points to the RHS of an assignment. /// The Decl is determined contextually. node_offset_store_operand: i32, + /// The source location points to a for loop input. + /// The Decl is determined contextually. + for_input: struct { + /// Points to the for loop AST node. + for_node_offset: i32, + /// Picks one of the inputs from the condition. + input_index: u32, + }, pub const nodeOffset = if (TracedOffset.want_tracing) nodeOffsetDebug else nodeOffsetRelease; @@ -3200,6 +3215,7 @@ pub const LazySrcLoc = union(enum) { .node_offset_init_ty, .node_offset_store_ptr, .node_offset_store_operand, + .for_input, => .{ .file_scope = decl.getFileScope(), .parent_decl_node = decl.src_node, diff --git a/src/Sema.zig b/src/Sema.zig index 980aee720b68c4f342d78f5eeccbe2866bb44ed7..5a185a709c16e174b5ad9af973dc7fbaa9cb9f03 100644 --- a/src/Sema.zig +++ b/src/Sema.zig @@ -3910,14 +3910,15 @@ fn zirForLen(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air. var len: Air.Inst.Ref = .none; var len_val: ?Value = null; - var len_idx: usize = undefined; + var len_idx: u32 = undefined; var any_runtime = false; const runtime_arg_lens = try gpa.alloc(Air.Inst.Ref, args.len); defer gpa.free(runtime_arg_lens); // First pass to look for comptime values. - for (args, 0..) |zir_arg, i| { + for (args, 0..) |zir_arg, i_usize| { + const i = @intCast(u32, i_usize); runtime_arg_lens[i] = .none; if (zir_arg == .none) continue; const object = try sema.resolveInst(zir_arg); @@ -3941,8 +3942,26 @@ fn zirForLen(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air. if (try sema.resolveDefinedValue(block, src, arg_len)) |arg_val| { if (len_val) |v| { if (!(try sema.valuesEqual(arg_val, v, Type.usize))) { - // TODO error notes for each arg stating the differing values - return sema.fail(block, src, "non-matching for loop lengths", .{}); + const msg = msg: { + const msg = try sema.errMsg(block, src, "non-matching for loop lengths", .{}); + errdefer msg.destroy(gpa); + const a_src: LazySrcLoc = .{ .for_input = .{ + .for_node_offset = inst_data.src_node, + .input_index = len_idx, + } }; + const b_src: LazySrcLoc = .{ .for_input = .{ + .for_node_offset = inst_data.src_node, + .input_index = i, + } }; + try sema.errNote(block, a_src, msg, "length {} here", .{ + v.fmtValue(Type.usize, sema.mod), + }); + try sema.errNote(block, b_src, msg, "length {} here", .{ + arg_val.fmtValue(Type.usize, sema.mod), + }); + break :msg msg; + }; + return sema.failWithOwnedErrorMsg(msg); } } else { len = arg_len; diff --git a/test/cases/compile_errors/for.zig b/test/cases/compile_errors/for.zig new file mode 100644 index 0000000000000000000000000000000000000000..999782c991cb62639efb86740ff9b320053d712a --- /dev/null +++ b/test/cases/compile_errors/for.zig @@ -0,0 +1,13 @@ +export fn a() void { + for (0..10, 10..21) |i, j| { + _ = i; _ = j; + } +} + +// error +// backend=stage2 +// target=native +// +// :2:5: error: non-matching for loop lengths +// :2:11: note: length 10 here +// :2:19: note: length 11 here -- 2.54.0 From bcb72401d3cf01c190a346af9c9d8eec4a334b45 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sat, 18 Feb 2023 13:04:27 -0700 Subject: [PATCH 23/36] AstGen: add error for discard of unbounded counter --- src/AstGen.zig | 7 +- test/behavior/for.zig | 100 ++++++++++++++++++ .../compile_errors/for_discard_unbounded.zig | 10 ++ test/cases/compile_errors/for_empty.zig | 11 ++ .../compile_errors/for_extra_capture.zig | 12 +++ .../compile_errors/for_extra_condition.zig | 11 ++ 6 files changed, 150 insertions(+), 1 deletion(-) create mode 100644 test/cases/compile_errors/for_discard_unbounded.zig create mode 100644 test/cases/compile_errors/for_empty.zig create mode 100644 test/cases/compile_errors/for_extra_capture.zig create mode 100644 test/cases/compile_errors/for_extra_condition.zig diff --git a/src/AstGen.zig b/src/AstGen.zig index b4fda8e274e61354e45ad1ba2b9823f5439ab762..866dce02e52fdf28b06bea9dfcd9f6b73632fc92 100644 --- a/src/AstGen.zig +++ b/src/AstGen.zig @@ -6346,8 +6346,9 @@ fn forExpr( const i = @intCast(u32, i_usize); const capture_is_ref = token_tags[capture_token] == .asterisk; const ident_tok = capture_token + @boolToInt(capture_is_ref); + const is_discard = mem.eql(u8, tree.tokenSlice(ident_tok), "_"); - if (mem.eql(u8, tree.tokenSlice(ident_tok), "_") and capture_is_ref) { + if (is_discard and capture_is_ref) { return astgen.failTok(capture_token, "pointer modifier invalid on discard", .{}); } // Skip over the comma, and on to the next capture (or the ending pipe character). @@ -6367,6 +6368,10 @@ fn forExpr( else .none; + if (end_val == .none and is_discard) { + return astgen.failTok(ident_tok, "discard of unbounded counter", .{}); + } + const start_is_zero = nodeIsTriviallyZero(tree, start_node); const range_len = if (end_val == .none or start_is_zero) end_val diff --git a/test/behavior/for.zig b/test/behavior/for.zig index 67ea5df808d657f4fc3784fbb98154ce6a2e80ba..e3c4a8dcc03a15b4660948f7499be281ff0f666b 100644 --- a/test/behavior/for.zig +++ b/test/behavior/for.zig @@ -276,3 +276,103 @@ test "two counters" { try expect(sum == 10); } + +test "1-based counter and ptr to array" { + if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO + + var ok: usize = 0; + + for (1..6, "hello") |i, b| { + if (i == 1) { + try expect(b == 'h'); + ok += 1; + } + if (i == 2) { + try expect(b == 'e'); + ok += 1; + } + if (i == 3) { + try expect(b == 'l'); + ok += 1; + } + if (i == 4) { + try expect(b == 'l'); + ok += 1; + } + if (i == 5) { + try expect(b == 'o'); + ok += 1; + } + } + + try expect(ok == 5); +} + +test "slice and two counters, one is offset and one is runtime" { + if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO + + const slice: []const u8 = "blah"; + var start: usize = 0; + + for (slice, start..4, 1..5) |a, b, c| { + if (a == 'b') { + try expect(b == 0); + try expect(c == 1); + } + if (a == 'l') { + try expect(b == 1); + try expect(c == 2); + } + if (a == 'a') { + try expect(b == 2); + try expect(c == 3); + } + if (a == 'h') { + try expect(b == 3); + try expect(c == 4); + } + } +} + +test "two slices, one captured by-ref" { + if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO + + var buf: [10]u8 = undefined; + const slice1: []const u8 = "blah"; + const slice2: []u8 = buf[0..4]; + + for (slice1, slice2) |a, *b| { + b.* = a; + } + + try expect(slice2[0] == 'b'); + try expect(slice2[1] == 'l'); + try expect(slice2[2] == 'a'); + try expect(slice2[3] == 'h'); +} + +test "raw pointer and slice" { + if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO + + var buf: [10]u8 = undefined; + const slice: []const u8 = "blah"; + const ptr: [*]u8 = buf[0..4]; + + for (ptr, slice) |*a, b| { + a.* = b; + } + + try expect(buf[0] == 'b'); + try expect(buf[1] == 'l'); + try expect(buf[2] == 'a'); + try expect(buf[3] == 'h'); +} diff --git a/test/cases/compile_errors/for_discard_unbounded.zig b/test/cases/compile_errors/for_discard_unbounded.zig new file mode 100644 index 0000000000000000000000000000000000000000..93434d0c219ed8c11aceebb8b4fc8495a6ef45b2 --- /dev/null +++ b/test/cases/compile_errors/for_discard_unbounded.zig @@ -0,0 +1,10 @@ +export fn a() void { + for (0..10, 10..) |i, _| { + _ = i; + } +} +// error +// backend=stage2 +// target=native +// +// :2:27: error: discard of unbounded counter diff --git a/test/cases/compile_errors/for_empty.zig b/test/cases/compile_errors/for_empty.zig new file mode 100644 index 0000000000000000000000000000000000000000..a4cb5b3c4e6fb1718cf22b189f41db9dc82bbe60 --- /dev/null +++ b/test/cases/compile_errors/for_empty.zig @@ -0,0 +1,11 @@ +export fn b() void { + for () |i| { + _ = i; + } +} + +// error +// backend=stage2 +// target=native +// +// :2:10: error: expected expression, found ')' diff --git a/test/cases/compile_errors/for_extra_capture.zig b/test/cases/compile_errors/for_extra_capture.zig new file mode 100644 index 0000000000000000000000000000000000000000..a137b57d5152e6cf49c0b5cfb963d121bc8ba659 --- /dev/null +++ b/test/cases/compile_errors/for_extra_capture.zig @@ -0,0 +1,12 @@ +export fn b() void { + for (0..10) |i, j| { + _ = i; _ = j; + } +} + +// error +// backend=stage2 +// target=native +// +// :2:21: error: extra capture in for loop +// :2:21: note: run 'zig fmt' to upgrade your code automatically diff --git a/test/cases/compile_errors/for_extra_condition.zig b/test/cases/compile_errors/for_extra_condition.zig new file mode 100644 index 0000000000000000000000000000000000000000..11c013acee91ee42f63f3cdade916cbce59698da --- /dev/null +++ b/test/cases/compile_errors/for_extra_condition.zig @@ -0,0 +1,11 @@ +export fn a() void { + for (0..10, 10..20) |i| { + _ = i; + } +} + +// error +// backend=stage2 +// target=native +// +// :2:19: error: for input is not captured -- 2.54.0 From 601db3981ce820cfbca6001cbdfa87e24aa35ab5 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sat, 18 Feb 2023 13:22:29 -0700 Subject: [PATCH 24/36] fix source location for not-indexable for loop errors --- src/Sema.zig | 14 +++++++------- test/cases/compile_errors/for.zig | 9 +++++++++ 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src/Sema.zig b/src/Sema.zig index 5a185a709c16e174b5ad9af973dc7fbaa9cb9f03..7e8520eaa17db74aefaf3910b464dceb0014251c 100644 --- a/src/Sema.zig +++ b/src/Sema.zig @@ -3929,11 +3929,15 @@ fn zirForLen(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air. .Int, .ComptimeInt => true, else => false, }; + const arg_src: LazySrcLoc = .{ .for_input = .{ + .for_node_offset = inst_data.src_node, + .input_index = i, + } }; const arg_len = if (is_int) object else l: { - try checkIndexable(sema, block, src, object_ty); + try checkIndexable(sema, block, arg_src, object_ty); if (!object_ty.indexableHasLen()) continue; - break :l try sema.fieldVal(block, src, object, "len", src); + break :l try sema.fieldVal(block, arg_src, object, "len", arg_src); }; if (len == .none) { len = arg_len; @@ -3949,14 +3953,10 @@ fn zirForLen(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air. .for_node_offset = inst_data.src_node, .input_index = len_idx, } }; - const b_src: LazySrcLoc = .{ .for_input = .{ - .for_node_offset = inst_data.src_node, - .input_index = i, - } }; try sema.errNote(block, a_src, msg, "length {} here", .{ v.fmtValue(Type.usize, sema.mod), }); - try sema.errNote(block, b_src, msg, "length {} here", .{ + try sema.errNote(block, arg_src, msg, "length {} here", .{ arg_val.fmtValue(Type.usize, sema.mod), }); break :msg msg; diff --git a/test/cases/compile_errors/for.zig b/test/cases/compile_errors/for.zig index 999782c991cb62639efb86740ff9b320053d712a..abb87084b44a47dee57b796494086d66dc5458af 100644 --- a/test/cases/compile_errors/for.zig +++ b/test/cases/compile_errors/for.zig @@ -3,6 +3,13 @@ export fn a() void { _ = i; _ = j; } } +export fn b() void { + const s1 = "hello"; + const s2 = true; + for (s1, s2) |i, j| { + _ = i; _ = j; + } +} // error // backend=stage2 @@ -11,3 +18,5 @@ export fn a() void { // :2:5: error: non-matching for loop lengths // :2:11: note: length 10 here // :2:19: note: length 11 here +// :9:14: error: type 'bool' does not support indexing +// :9:14: note: for loop operand must be an array, slice, tuple, or vector -- 2.54.0 From 4dd958d585256df3119d5617d22492f41ed02884 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sat, 18 Feb 2023 14:10:56 -0700 Subject: [PATCH 25/36] improve error message for byref capture of byval array --- lib/std/crypto/aes/soft.zig | 2 +- src/Module.zig | 49 +++++++++++++++++++++++++++++++ src/Sema.zig | 22 ++++++++++---- test/cases/compile_errors/for.zig | 8 +++++ 4 files changed, 74 insertions(+), 7 deletions(-) diff --git a/lib/std/crypto/aes/soft.zig b/lib/std/crypto/aes/soft.zig index b57f1746dc88ef9dcdb08a1c1f5ea68d443e09be..d8bd3d4ac0336a99f9ff93b29db905690cbaf363 100644 --- a/lib/std/crypto/aes/soft.zig +++ b/lib/std/crypto/aes/soft.zig @@ -420,7 +420,7 @@ const powx = init: { var array: [16]u8 = undefined; var value = 1; - for (array) |*power| { + for (&array) |*power| { power.* = value; value = mul(value, 2); } diff --git a/src/Module.zig b/src/Module.zig index 377ccd24413b65525a19c43fb161938d72257ec2..76777532abba1664eabd566409bb78897bf5a313 100644 --- a/src/Module.zig +++ b/src/Module.zig @@ -2469,6 +2469,48 @@ pub const SrcLoc = struct { const src_node = for_full.ast.inputs[for_input.input_index]; return nodeToSpan(tree, src_node); }, + .for_capture_from_input => |node_off| { + const tree = try src_loc.file_scope.getTree(gpa); + const token_tags = tree.tokens.items(.tag); + const input_node = src_loc.declRelativeToNodeIndex(node_off); + // We have to actually linear scan the whole AST to find the for loop + // that contains this input. + const node_tags = tree.nodes.items(.tag); + for (node_tags, 0..) |node_tag, node_usize| { + const node = @intCast(Ast.Node.Index, node_usize); + switch (node_tag) { + .for_simple, .@"for" => { + const for_full = tree.fullFor(node).?; + for (for_full.ast.inputs, 0..) |input, input_index| { + if (input_node == input) { + var count = input_index; + var tok = for_full.payload_token; + while (true) { + switch (token_tags[tok]) { + .comma => { + count -= 1; + tok += 1; + }, + .identifier => { + if (count == 0) + return tokensToSpan(tree, tok, tok + 1, tok); + tok += 1; + }, + .asterisk => { + if (count == 0) + return tokensToSpan(tree, tok, tok + 2, tok); + tok += 1; + }, + else => unreachable, + } + } + } + } + }, + else => continue, + } + } else unreachable; + }, .node_offset_bin_lhs => |node_off| { const tree = try src_loc.file_scope.getTree(gpa); const node = src_loc.declRelativeToNodeIndex(node_off); @@ -3129,6 +3171,12 @@ pub const LazySrcLoc = union(enum) { /// Picks one of the inputs from the condition. input_index: u32, }, + /// The source location points to one of the captures of a for loop, found + /// by taking this AST node index offset from the containing + /// Decl AST node, which points to one of the input nodes of a for loop. + /// Next, navigate to the corresponding capture. + /// The Decl is determined contextually. + for_capture_from_input: i32, pub const nodeOffset = if (TracedOffset.want_tracing) nodeOffsetDebug else nodeOffsetRelease; @@ -3216,6 +3264,7 @@ pub const LazySrcLoc = union(enum) { .node_offset_store_ptr, .node_offset_store_operand, .for_input, + .for_capture_from_input, => .{ .file_scope = decl.getFileScope(), .parent_decl_node = decl.src_node, diff --git a/src/Sema.zig b/src/Sema.zig index 7e8520eaa17db74aefaf3910b464dceb0014251c..07176ad1a0f249d67538dfb73c3813dcaf6a42e1 100644 --- a/src/Sema.zig +++ b/src/Sema.zig @@ -9716,6 +9716,21 @@ fn zirElemPtr(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air const extra = sema.code.extraData(Zir.Inst.Bin, inst_data.payload_index).data; const array_ptr = try sema.resolveInst(extra.lhs); const elem_index = try sema.resolveInst(extra.rhs); + const indexable_ty = sema.typeOf(array_ptr); + if (indexable_ty.zigTypeTag() != .Pointer) { + const capture_src: LazySrcLoc = .{ .for_capture_from_input = inst_data.src_node }; + const msg = msg: { + const msg = try sema.errMsg(block, capture_src, "pointer capture of non pointer type '{}'", .{ + indexable_ty.fmt(sema.mod), + }); + errdefer msg.destroy(sema.gpa); + if (indexable_ty.zigTypeTag() == .Array) { + try sema.errNote(block, src, msg, "consider using '&' here", .{}); + } + break :msg msg; + }; + return sema.failWithOwnedErrorMsg(msg); + } return sema.elemPtrOneLayerOnly(block, src, array_ptr, elem_index, src, false); } @@ -24195,12 +24210,7 @@ fn elemPtrOneLayerOnly( }, } }, - else => { - // TODO add note pointing at corresponding for loop input and suggest using '&' - return sema.fail(block, indexable_src, "pointer capture of non pointer type '{}'", .{ - indexable_ty.fmt(sema.mod), - }); - }, + else => unreachable, } } diff --git a/test/cases/compile_errors/for.zig b/test/cases/compile_errors/for.zig index abb87084b44a47dee57b796494086d66dc5458af..dff46af0852c89988132805e32ad86d767781fe5 100644 --- a/test/cases/compile_errors/for.zig +++ b/test/cases/compile_errors/for.zig @@ -10,6 +10,12 @@ export fn b() void { _ = i; _ = j; } } +export fn c() void { + var buf: [10]u8 = undefined; + for (buf) |*byte| { + _ = byte; + } +} // error // backend=stage2 @@ -20,3 +26,5 @@ export fn b() void { // :2:19: note: length 11 here // :9:14: error: type 'bool' does not support indexing // :9:14: note: for loop operand must be an array, slice, tuple, or vector +// :15:16: error: pointer capture of non pointer type '[10]u8' +// :15:10: note: consider using '&' here -- 2.54.0 From 7abeb52abc9e9e38d8af4e17e25e89083cdec397 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sat, 18 Feb 2023 14:55:02 -0700 Subject: [PATCH 26/36] langref: update to new for loop syntax --- doc/langref.html.in | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/doc/langref.html.in b/doc/langref.html.in index a74d06ccbf145fe10cf8c95199f51373dd7b449e..3c2bdce67120d59a15f3b7ed9a363e324dbc728d 100644 --- a/doc/langref.html.in +++ b/doc/langref.html.in @@ -2367,7 +2367,7 @@ test "iterate over an array" { var some_integers: [100]i32 = undefined; test "modify an array" { - for (some_integers) |*item, i| { + for (&some_integers, 0..) |*item, i| { item.* = @intCast(i32, i); } try expect(some_integers[10] == 10); @@ -2408,7 +2408,7 @@ comptime { // use compile-time code to initialize an array var fancy_array = init: { var initial_value: [10]Point = undefined; - for (initial_value) |*pt, i| { + for (&initial_value, 0..) |*pt, i| { pt.* = Point{ .x = @intCast(i32, i), .y = @intCast(i32, i) * 2, @@ -2461,8 +2461,8 @@ test "multidimensional arrays" { try expect(mat4x4[1][1] == 1.0); // Here we iterate with for loops. - for (mat4x4) |row, row_index| { - for (row) |cell, column_index| { + for (mat4x4, 0..) |row, row_index| { + for (row, 0..) |cell, column_index| { if (row_index == column_index) { try expect(cell == 1.0); } @@ -3579,7 +3579,7 @@ test "tuple" { } ++ .{false} ** 2; try expect(values[0] == 1234); try expect(values[4] == false); - inline for (values) |v, i| { + inline for (values, 0..) |v, i| { if (i != 2) continue; try expect(v); } @@ -4659,10 +4659,10 @@ test "for basics" { } try expect(sum == 20); - // To access the index of iteration, specify a second capture value. - // This is zero-indexed. + // To access the index of iteration, specify a second condition as well + // as a second capture value. var sum2: i32 = 0; - for (items) |_, i| { + for (items, 0..) |_, i| { try expect(@TypeOf(i) == usize); sum2 += @intCast(i32, i); } @@ -4674,7 +4674,7 @@ test "for reference" { // Iterate over the slice by reference by // specifying that the capture value is a pointer. - for (items) |*value| { + for (&items) |*value| { value.* += 1; } @@ -5659,7 +5659,7 @@ fn genFoos(allocator: Allocator, num: usize) ![]Foo { var foos = try allocator.alloc(Foo, num); errdefer allocator.free(foos); - for(foos) |*foo, i| { + for (foos, 0..) |*foo, i| { foo.data = try allocator.create(u32); // This errdefer does not last between iterations errdefer allocator.destroy(foo.data); @@ -5700,14 +5700,14 @@ fn genFoos(allocator: Allocator, num: usize) ![]Foo { // Used to track how many foos have been initialized // (including their data being allocated) var num_allocated: usize = 0; - errdefer for(foos[0..num_allocated]) |foo| { + errdefer for (foos[0..num_allocated]) |foo| { allocator.destroy(foo.data); }; - for(foos) |*foo, i| { + for (foos, 0..) |*foo, i| { foo.data = try allocator.create(u32); num_allocated += 1; - if(i >= 3) return error.TooManyFoos; + if (i >= 3) return error.TooManyFoos; foo.data.* = try getData(); } @@ -7265,7 +7265,7 @@ const Writer = struct { comptime var state = State.start; comptime var next_arg: usize = 0; - inline for (format) |c, i| { + inline for (format, 0..) |c, i| { switch (state) { State.start => switch (c) { '{' => { @@ -8629,7 +8629,7 @@ test "integer cast panic" { This function is a low level intrinsic with no safety mechanisms. Most code should not use this function, instead using something like this:

-
{#syntax#}for (source[0..byte_count]) |b, i| dest[i] = b;{#endsyntax#}
+
{#syntax#}for (dest, source[0..byte_count]) |*d, s| d.* = s;{#endsyntax#}

The optimizer is intelligent enough to turn the above snippet into a memcpy.

@@ -11116,7 +11116,7 @@ pub fn main() !void { const args = try std.process.argsAlloc(gpa); defer std.process.argsFree(gpa, args); - for (args) |arg, i| { + for (args, 0..) |arg, i| { std.debug.print("{}: {s}\n", .{ i, arg }); } } @@ -11142,7 +11142,7 @@ pub fn main() !void { const preopens = try fs.wasi.preopensAlloc(arena); - for (preopens.names) |preopen, i| { + for (preopens.names, 0..) |preopen, i| { std.debug.print("{}: {s}\n", .{ i, preopen }); } } -- 2.54.0 From 74db8c2e8348cb7e9bf264294f73d26be956ea61 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sat, 18 Feb 2023 15:34:00 -0700 Subject: [PATCH 27/36] omit safety checks for element access in for loops One of the main points of for loops is that you can safety check the length once, before entering the loop, and then safely assume that every element inside the loop is in bounds. In master branch, the safety checks are incorrectly intact even inside for loops. This commit fixes it. It's especially nice with multi-object loops because the number of elided checks is N * M where N is how many iterations and M is how many objects. --- src/Sema.zig | 101 ++++++++++++++++++++++-------------------- src/Zir.zig | 8 +++- test/behavior/for.zig | 2 + 3 files changed, 60 insertions(+), 51 deletions(-) diff --git a/src/Sema.zig b/src/Sema.zig index 07176ad1a0f249d67538dfb73c3813dcaf6a42e1..5fa754d6cfedca7153688c77cd46065d0261c777 100644 --- a/src/Sema.zig +++ b/src/Sema.zig @@ -4544,7 +4544,7 @@ fn zirValidateArrayInit( // any ZIR instructions at comptime; we need to do that here. if (array_ty.sentinel()) |sentinel_val| { const array_len_ref = try sema.addIntUnsigned(Type.usize, array_len); - const sentinel_ptr = try sema.elemPtrArray(block, init_src, init_src, array_ptr, init_src, array_len_ref, true); + const sentinel_ptr = try sema.elemPtrArray(block, init_src, init_src, array_ptr, init_src, array_len_ref, true, true); const sentinel = try sema.addConstant(array_ty.childType(), sentinel_val); try sema.storePtr2(block, init_src, sentinel_ptr, init_src, sentinel, init_src, .store); } @@ -9691,7 +9691,7 @@ fn zirElemVal(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air const extra = sema.code.extraData(Zir.Inst.Bin, inst_data.payload_index).data; const array = try sema.resolveInst(extra.lhs); const elem_index = try sema.resolveInst(extra.rhs); - return sema.elemVal(block, src, array, elem_index, src); + return sema.elemVal(block, src, array, elem_index, src, false); } fn zirElemValNode(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.Inst.Ref { @@ -9704,7 +9704,7 @@ fn zirElemValNode(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError const extra = sema.code.extraData(Zir.Inst.Bin, inst_data.payload_index).data; const array = try sema.resolveInst(extra.lhs); const elem_index = try sema.resolveInst(extra.rhs); - return sema.elemVal(block, src, array, elem_index, elem_index_src); + return sema.elemVal(block, src, array, elem_index, elem_index_src, true); } fn zirElemPtr(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.Inst.Ref { @@ -9731,7 +9731,7 @@ fn zirElemPtr(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air }; return sema.failWithOwnedErrorMsg(msg); } - return sema.elemPtrOneLayerOnly(block, src, array_ptr, elem_index, src, false); + return sema.elemPtrOneLayerOnly(block, src, array_ptr, elem_index, src, false, false); } fn zirElemPtrNode(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.Inst.Ref { @@ -9744,7 +9744,7 @@ fn zirElemPtrNode(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError const extra = sema.code.extraData(Zir.Inst.Bin, inst_data.payload_index).data; const array_ptr = try sema.resolveInst(extra.lhs); const elem_index = try sema.resolveInst(extra.rhs); - return sema.elemPtr(block, src, array_ptr, elem_index, elem_index_src, false); + return sema.elemPtr(block, src, array_ptr, elem_index, elem_index_src, false, true); } fn zirElemPtrImm(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.Inst.Ref { @@ -9756,7 +9756,7 @@ fn zirElemPtrImm(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError! const extra = sema.code.extraData(Zir.Inst.ElemPtrImm, inst_data.payload_index).data; const array_ptr = try sema.resolveInst(extra.ptr); const elem_index = try sema.addIntUnsigned(Type.usize, extra.index); - return sema.elemPtr(block, src, array_ptr, elem_index, src, true); + return sema.elemPtr(block, src, array_ptr, elem_index, src, true, true); } fn zirSliceStart(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.Inst.Ref { @@ -12521,14 +12521,14 @@ fn zirArrayCat(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai while (elem_i < lhs_len) : (elem_i += 1) { const elem_index = try sema.addIntUnsigned(Type.usize, elem_i); const elem_ptr = try block.addPtrElemPtr(alloc, elem_index, elem_ptr_ty); - const init = try sema.elemVal(block, lhs_src, lhs, elem_index, src); + const init = try sema.elemVal(block, lhs_src, lhs, elem_index, src, true); try sema.storePtr2(block, src, elem_ptr, src, init, lhs_src, .store); } while (elem_i < result_len) : (elem_i += 1) { const elem_index = try sema.addIntUnsigned(Type.usize, elem_i); const rhs_index = try sema.addIntUnsigned(Type.usize, elem_i - lhs_len); const elem_ptr = try block.addPtrElemPtr(alloc, elem_index, elem_ptr_ty); - const init = try sema.elemVal(block, rhs_src, rhs, rhs_index, src); + const init = try sema.elemVal(block, rhs_src, rhs, rhs_index, src, true); try sema.storePtr2(block, src, elem_ptr, src, init, rhs_src, .store); } if (res_sent_val) |sent_val| { @@ -12546,12 +12546,12 @@ fn zirArrayCat(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai var elem_i: usize = 0; while (elem_i < lhs_len) : (elem_i += 1) { const index = try sema.addIntUnsigned(Type.usize, elem_i); - const init = try sema.elemVal(block, lhs_src, lhs, index, src); + const init = try sema.elemVal(block, lhs_src, lhs, index, src, true); element_refs[elem_i] = try sema.coerce(block, resolved_elem_ty, init, lhs_src); } while (elem_i < result_len) : (elem_i += 1) { const index = try sema.addIntUnsigned(Type.usize, elem_i - lhs_len); - const init = try sema.elemVal(block, rhs_src, rhs, index, src); + const init = try sema.elemVal(block, rhs_src, rhs, index, src, true); element_refs[elem_i] = try sema.coerce(block, resolved_elem_ty, init, rhs_src); } } @@ -12771,7 +12771,7 @@ fn zirArrayMul(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai elem_i += 1; const lhs_index = try sema.addIntUnsigned(Type.usize, lhs_i); const elem_ptr = try block.addPtrElemPtr(alloc, elem_index, elem_ptr_ty); - const init = try sema.elemVal(block, lhs_src, lhs, lhs_index, src); + const init = try sema.elemVal(block, lhs_src, lhs, lhs_index, src, true); try sema.storePtr2(block, src, elem_ptr, src, init, lhs_src, .store); } } @@ -12791,7 +12791,7 @@ fn zirArrayMul(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai var lhs_i: usize = 0; while (lhs_i < lhs_len) : (lhs_i += 1) { const lhs_index = try sema.addIntUnsigned(Type.usize, lhs_i); - const init = try sema.elemVal(block, lhs_src, lhs, lhs_index, src); + const init = try sema.elemVal(block, lhs_src, lhs, lhs_index, src, true); element_refs[elem_i] = init; elem_i += 1; } @@ -24145,6 +24145,7 @@ fn elemPtr( elem_index: Air.Inst.Ref, elem_index_src: LazySrcLoc, init: bool, + oob_safety: bool, ) CompileError!Air.Inst.Ref { const indexable_ptr_src = src; // TODO better source location const indexable_ptr_ty = sema.typeOf(indexable_ptr); @@ -24154,7 +24155,7 @@ fn elemPtr( else => return sema.fail(block, indexable_ptr_src, "expected pointer, found '{}'", .{indexable_ptr_ty.fmt(sema.mod)}), }; switch (indexable_ty.zigTypeTag()) { - .Array, .Vector => return sema.elemPtrArray(block, src, indexable_ptr_src, indexable_ptr, elem_index_src, elem_index, init), + .Array, .Vector => return sema.elemPtrArray(block, src, indexable_ptr_src, indexable_ptr, elem_index_src, elem_index, init, oob_safety), .Struct => { // Tuple field access. const index_val = try sema.resolveConstValue(block, elem_index_src, elem_index, "tuple field access index must be comptime-known"); @@ -24163,11 +24164,12 @@ fn elemPtr( }, else => { const indexable = try sema.analyzeLoad(block, indexable_ptr_src, indexable_ptr, indexable_ptr_src); - return elemPtrOneLayerOnly(sema, block, src, indexable, elem_index, elem_index_src, init); + return elemPtrOneLayerOnly(sema, block, src, indexable, elem_index, elem_index_src, init, oob_safety); }, } } +/// Asserts that the type of indexable is pointer. fn elemPtrOneLayerOnly( sema: *Sema, block: *Block, @@ -24176,6 +24178,7 @@ fn elemPtrOneLayerOnly( elem_index: Air.Inst.Ref, elem_index_src: LazySrcLoc, init: bool, + oob_safety: bool, ) CompileError!Air.Inst.Ref { const indexable_src = src; // TODO better source location const indexable_ty = sema.typeOf(indexable); @@ -24184,33 +24187,28 @@ fn elemPtrOneLayerOnly( } const target = sema.mod.getTarget(); - switch (indexable_ty.zigTypeTag()) { - .Pointer => { - switch (indexable_ty.ptrSize()) { - .Slice => return sema.elemPtrSlice(block, src, indexable_src, indexable, elem_index_src, elem_index), - .Many, .C => { - const maybe_ptr_val = try sema.resolveDefinedValue(block, indexable_src, indexable); - const maybe_index_val = try sema.resolveDefinedValue(block, elem_index_src, elem_index); - const runtime_src = rs: { - const ptr_val = maybe_ptr_val orelse break :rs indexable_src; - const index_val = maybe_index_val orelse break :rs elem_index_src; - const index = @intCast(usize, index_val.toUnsignedInt(target)); - const elem_ptr = try ptr_val.elemPtr(indexable_ty, sema.arena, index, sema.mod); - const result_ty = try sema.elemPtrType(indexable_ty, index); - return sema.addConstant(result_ty, elem_ptr); - }; - const result_ty = try sema.elemPtrType(indexable_ty, null); + switch (indexable_ty.ptrSize()) { + .Slice => return sema.elemPtrSlice(block, src, indexable_src, indexable, elem_index_src, elem_index, oob_safety), + .Many, .C => { + const maybe_ptr_val = try sema.resolveDefinedValue(block, indexable_src, indexable); + const maybe_index_val = try sema.resolveDefinedValue(block, elem_index_src, elem_index); + const runtime_src = rs: { + const ptr_val = maybe_ptr_val orelse break :rs indexable_src; + const index_val = maybe_index_val orelse break :rs elem_index_src; + const index = @intCast(usize, index_val.toUnsignedInt(target)); + const elem_ptr = try ptr_val.elemPtr(indexable_ty, sema.arena, index, sema.mod); + const result_ty = try sema.elemPtrType(indexable_ty, index); + return sema.addConstant(result_ty, elem_ptr); + }; + const result_ty = try sema.elemPtrType(indexable_ty, null); - try sema.requireRuntimeBlock(block, src, runtime_src); - return block.addPtrElemPtr(indexable, elem_index, result_ty); - }, - .One => { - assert(indexable_ty.childType().zigTypeTag() == .Array); // Guaranteed by isIndexable - return sema.elemPtrArray(block, src, indexable_src, indexable, elem_index_src, elem_index, init); - }, - } + try sema.requireRuntimeBlock(block, src, runtime_src); + return block.addPtrElemPtr(indexable, elem_index, result_ty); + }, + .One => { + assert(indexable_ty.childType().zigTypeTag() == .Array); // Guaranteed by isIndexable + return sema.elemPtrArray(block, src, indexable_src, indexable, elem_index_src, elem_index, init, oob_safety); }, - else => unreachable, } } @@ -24221,6 +24219,7 @@ fn elemVal( indexable: Air.Inst.Ref, elem_index_uncasted: Air.Inst.Ref, elem_index_src: LazySrcLoc, + oob_safety: bool, ) CompileError!Air.Inst.Ref { const indexable_src = src; // TODO better source location const indexable_ty = sema.typeOf(indexable); @@ -24236,7 +24235,7 @@ fn elemVal( switch (indexable_ty.zigTypeTag()) { .Pointer => switch (indexable_ty.ptrSize()) { - .Slice => return sema.elemValSlice(block, src, indexable_src, indexable, elem_index_src, elem_index), + .Slice => return sema.elemValSlice(block, src, indexable_src, indexable, elem_index_src, elem_index, oob_safety), .Many, .C => { const maybe_indexable_val = try sema.resolveDefinedValue(block, indexable_src, indexable); const maybe_index_val = try sema.resolveDefinedValue(block, elem_index_src, elem_index); @@ -24257,14 +24256,14 @@ fn elemVal( }, .One => { assert(indexable_ty.childType().zigTypeTag() == .Array); // Guaranteed by isIndexable - const elem_ptr = try sema.elemPtr(block, indexable_src, indexable, elem_index, elem_index_src, false); + const elem_ptr = try sema.elemPtr(block, indexable_src, indexable, elem_index, elem_index_src, false, oob_safety); return sema.analyzeLoad(block, indexable_src, elem_ptr, elem_index_src); }, }, - .Array => return sema.elemValArray(block, src, indexable_src, indexable, elem_index_src, elem_index), + .Array => return sema.elemValArray(block, src, indexable_src, indexable, elem_index_src, elem_index, oob_safety), .Vector => { // TODO: If the index is a vector, the result should be a vector. - return sema.elemValArray(block, src, indexable_src, indexable, elem_index_src, elem_index); + return sema.elemValArray(block, src, indexable_src, indexable, elem_index_src, elem_index, oob_safety); }, .Struct => { // Tuple field access. @@ -24409,6 +24408,7 @@ fn elemValArray( array: Air.Inst.Ref, elem_index_src: LazySrcLoc, elem_index: Air.Inst.Ref, + oob_safety: bool, ) CompileError!Air.Inst.Ref { const array_ty = sema.typeOf(array); const array_sent = array_ty.sentinel(); @@ -24452,7 +24452,7 @@ fn elemValArray( const runtime_src = if (maybe_undef_array_val != null) elem_index_src else array_src; try sema.requireRuntimeBlock(block, src, runtime_src); - if (block.wantSafety()) { + if (oob_safety and block.wantSafety()) { // Runtime check is only needed if unable to comptime check if (maybe_index_val == null) { const len_inst = try sema.addIntUnsigned(Type.usize, array_len); @@ -24472,6 +24472,7 @@ fn elemPtrArray( elem_index_src: LazySrcLoc, elem_index: Air.Inst.Ref, init: bool, + oob_safety: bool, ) CompileError!Air.Inst.Ref { const target = sema.mod.getTarget(); const array_ptr_ty = sema.typeOf(array_ptr); @@ -24515,7 +24516,7 @@ fn elemPtrArray( try sema.requireRuntimeBlock(block, src, runtime_src); // Runtime check is only needed if unable to comptime check. - if (block.wantSafety() and offset == null) { + if (oob_safety and block.wantSafety() and offset == null) { const len_inst = try sema.addIntUnsigned(Type.usize, array_len); const cmp_op: Air.Inst.Tag = if (array_sent) .cmp_lte else .cmp_lt; try sema.panicIndexOutOfBounds(block, elem_index, len_inst, cmp_op); @@ -24532,6 +24533,7 @@ fn elemValSlice( slice: Air.Inst.Ref, elem_index_src: LazySrcLoc, elem_index: Air.Inst.Ref, + oob_safety: bool, ) CompileError!Air.Inst.Ref { const slice_ty = sema.typeOf(slice); const slice_sent = slice_ty.sentinel() != null; @@ -24568,7 +24570,7 @@ fn elemValSlice( try sema.validateRuntimeElemAccess(block, elem_index_src, elem_ty, slice_ty, slice_src); try sema.requireRuntimeBlock(block, src, runtime_src); - if (block.wantSafety()) { + if (oob_safety and block.wantSafety()) { const len_inst = if (maybe_slice_val) |slice_val| try sema.addIntUnsigned(Type.usize, slice_val.sliceLen(sema.mod)) else @@ -24588,6 +24590,7 @@ fn elemPtrSlice( slice: Air.Inst.Ref, elem_index_src: LazySrcLoc, elem_index: Air.Inst.Ref, + oob_safety: bool, ) CompileError!Air.Inst.Ref { const target = sema.mod.getTarget(); const slice_ty = sema.typeOf(slice); @@ -24625,7 +24628,7 @@ fn elemPtrSlice( const runtime_src = if (maybe_undef_slice_val != null) elem_index_src else slice_src; try sema.requireRuntimeBlock(block, src, runtime_src); - if (block.wantSafety()) { + if (oob_safety and block.wantSafety()) { const len_inst = len: { if (maybe_undef_slice_val) |slice_val| if (!slice_val.isUndef()) @@ -26330,7 +26333,7 @@ fn storePtr2( const elem_src = operand_src; // TODO better source location const elem = try sema.tupleField(block, operand_src, uncasted_operand, elem_src, i); const elem_index = try sema.addIntUnsigned(Type.usize, i); - const elem_ptr = try sema.elemPtr(block, ptr_src, ptr, elem_index, elem_src, false); + const elem_ptr = try sema.elemPtr(block, ptr_src, ptr, elem_index, elem_src, false, true); try sema.storePtr2(block, src, elem_ptr, elem_src, elem, elem_src, .store); } return; @@ -27782,7 +27785,7 @@ fn coerceArrayLike( ); const src = inst_src; // TODO better source location const elem_src = inst_src; // TODO better source location - const elem_ref = try sema.elemValArray(block, src, inst_src, inst, elem_src, index_ref); + const elem_ref = try sema.elemValArray(block, src, inst_src, inst, elem_src, index_ref, true); const coerced = try sema.coerce(block, dest_elem_ty, elem_ref, elem_src); element_refs[i] = coerced; if (runtime_src == null) { diff --git a/src/Zir.zig b/src/Zir.zig index e215dfac108b0a29266fa2e64fdb9ed205a8b3b6..e13140d7aea4a6953816b6d215b991abfd141638 100644 --- a/src/Zir.zig +++ b/src/Zir.zig @@ -382,7 +382,9 @@ pub const Inst = struct { /// Uses the `pl_node` union field. AST node is a[b] syntax. Payload is `Bin`. elem_ptr_node, /// Same as `elem_ptr_node` but used only for for loop. - /// Uses the `pl_node` union field. AST node is the condition of a for loop. Payload is `Bin`. + /// Uses the `pl_node` union field. AST node is the condition of a for loop. + /// Payload is `Bin`. + /// No OOB safety check is emitted. elem_ptr, /// Same as `elem_ptr_node` except the index is stored immediately rather than /// as a reference to another ZIR instruction. @@ -395,7 +397,9 @@ pub const Inst = struct { /// Uses the `pl_node` union field. AST node is a[b] syntax. Payload is `Bin`. elem_val_node, /// Same as `elem_val_node` but used only for for loop. - /// Uses the `pl_node` union field. AST node is the condition of a for loop. Payload is `Bin`. + /// Uses the `pl_node` union field. AST node is the condition of a for loop. + /// Payload is `Bin`. + /// No OOB safety check is emitted. elem_val, /// Emits a compile error if the operand is not `void`. /// Uses the `un_node` field. diff --git a/test/behavior/for.zig b/test/behavior/for.zig index e3c4a8dcc03a15b4660948f7499be281ff0f666b..20d43c6ff230b97f49e45b3e15738b022c0a5af7 100644 --- a/test/behavior/for.zig +++ b/test/behavior/for.zig @@ -314,6 +314,7 @@ test "slice and two counters, one is offset and one is runtime" { if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO const slice: []const u8 = "blah"; var start: usize = 0; @@ -342,6 +343,7 @@ test "two slices, one captured by-ref" { if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO var buf: [10]u8 = undefined; const slice1: []const u8 = "blah"; -- 2.54.0 From e89bfedd8d68a731cb227327a325e16fc7812df9 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sat, 18 Feb 2023 15:56:29 -0700 Subject: [PATCH 28/36] update compare-output test case to new for loop syntax --- test/compare_output.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/compare_output.zig b/test/compare_output.zig index b3a614472998d6cc96829fcead264a21e5d55aed..e2525eb119c5bd41b9954ed66dd9978eaba2d410 100644 --- a/test/compare_output.zig +++ b/test/compare_output.zig @@ -196,7 +196,7 @@ pub fn addCases(cases: *tests.CompareOutputContext) void { \\ \\ c.qsort(@ptrCast(?*anyopaque, &array), @intCast(c_ulong, array.len), @sizeOf(i32), compare_fn); \\ - \\ for (array) |item, i| { + \\ for (array, 0..) |item, i| { \\ if (item != i) { \\ c.abort(); \\ } -- 2.54.0 From 8b05205bb71fca55569a9ff4cab89ec9e09640ba Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sat, 18 Feb 2023 15:58:27 -0700 Subject: [PATCH 29/36] implement error for unbounded for loops --- src/AstGen.zig | 9 ++++--- src/Sema.zig | 26 ++++++++++++++++++++- test/behavior/for.zig | 19 +++++++++++++++ test/cases/compile_errors/for.zig | 10 ++++++++ test/cases/compile_errors/for_unbounded.zig | 11 +++++++++ 5 files changed, 69 insertions(+), 6 deletions(-) create mode 100644 test/cases/compile_errors/for_unbounded.zig diff --git a/src/AstGen.zig b/src/AstGen.zig index 866dce02e52fdf28b06bea9dfcd9f6b73632fc92..bd1bba168b26640322ad82ca01125a61504a33f0 100644 --- a/src/AstGen.zig +++ b/src/AstGen.zig @@ -6394,11 +6394,13 @@ fn forExpr( } } + if (!any_len_checks) { + return astgen.failNode(node, "unbounded for loop", .{}); + } + // We use a dedicated ZIR instruction to assert the lengths to assist with // nicer error reporting as well as fewer ZIR bytes emitted. const len: Zir.Inst.Ref = len: { - if (!any_len_checks) break :len .none; - const lens_len = @intCast(u32, lens.len); try astgen.extra.ensureUnusedCapacity(gpa, @typeInfo(Zir.Inst.MultiOp).Struct.fields.len + lens_len); const len = try parent_gz.addPlNode(.for_len, node, Zir.Inst.MultiOp{ @@ -6424,9 +6426,6 @@ fn forExpr( defer cond_scope.unstack(); // Check the condition. - if (!any_len_checks) { - return astgen.failNode(node, "TODO: handle infinite for loop", .{}); - } const cond = try cond_scope.addPlNode(.cmp_lt, node, Zir.Inst.Bin{ .lhs = index, .rhs = len, diff --git a/src/Sema.zig b/src/Sema.zig index 5fa754d6cfedca7153688c77cd46065d0261c777..84185f649ccc202818371eb96cd572edd6e292ef 100644 --- a/src/Sema.zig +++ b/src/Sema.zig @@ -3975,7 +3975,31 @@ fn zirForLen(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air. } if (len == .none) { - return sema.fail(block, src, "non-obvious infinite loop", .{}); + const msg = msg: { + const msg = try sema.errMsg(block, src, "unbounded for loop", .{}); + errdefer msg.destroy(gpa); + for (args, 0..) |zir_arg, i_usize| { + const i = @intCast(u32, i_usize); + if (zir_arg == .none) continue; + const object = try sema.resolveInst(zir_arg); + const object_ty = sema.typeOf(object); + // Each arg could be an indexable, or a range, in which case the length + // is passed directly as an integer. + switch (object_ty.zigTypeTag()) { + .Int, .ComptimeInt => continue, + else => {}, + } + const arg_src: LazySrcLoc = .{ .for_input = .{ + .for_node_offset = inst_data.src_node, + .input_index = i, + } }; + try sema.errNote(block, arg_src, msg, "type '{}' has no upper bound", .{ + object_ty.fmt(sema.mod), + }); + } + break :msg msg; + }; + return sema.failWithOwnedErrorMsg(msg); } // Now for the runtime checks. diff --git a/test/behavior/for.zig b/test/behavior/for.zig index 20d43c6ff230b97f49e45b3e15738b022c0a5af7..0c5ab392f47b510f5295a2472b6c52452719eb22 100644 --- a/test/behavior/for.zig +++ b/test/behavior/for.zig @@ -378,3 +378,22 @@ test "raw pointer and slice" { try expect(buf[2] == 'a'); try expect(buf[3] == 'h'); } + +test "raw pointer and counter" { + if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO + + var buf: [10]u8 = undefined; + const ptr: [*]u8 = &buf; + + for (ptr, 0..4) |*a, b| { + a.* = @intCast(u8, 'A' + b); + } + + try expect(buf[0] == 'A'); + try expect(buf[1] == 'B'); + try expect(buf[2] == 'C'); + try expect(buf[3] == 'D'); +} diff --git a/test/cases/compile_errors/for.zig b/test/cases/compile_errors/for.zig index dff46af0852c89988132805e32ad86d767781fe5..5bd3aa0c646f8d9f5fb0ad9168f2c1864d52638a 100644 --- a/test/cases/compile_errors/for.zig +++ b/test/cases/compile_errors/for.zig @@ -16,6 +16,13 @@ export fn c() void { _ = byte; } } +export fn d() void { + const x: [*]const u8 = "hello"; + const y: [*]const u8 = "world"; + for (x, 0.., y) |x1, x2, x3| { + _ = x1; _ = x2; _ = x3; + } +} // error // backend=stage2 @@ -28,3 +35,6 @@ export fn c() void { // :9:14: note: for loop operand must be an array, slice, tuple, or vector // :15:16: error: pointer capture of non pointer type '[10]u8' // :15:10: note: consider using '&' here +// :22:5: error: unbounded for loop +// :22:10: note: type '[*]const u8' has no upper bound +// :22:18: note: type '[*]const u8' has no upper bound diff --git a/test/cases/compile_errors/for_unbounded.zig b/test/cases/compile_errors/for_unbounded.zig new file mode 100644 index 0000000000000000000000000000000000000000..5d05b1061ff14540afb30b26809df4728260a9b4 --- /dev/null +++ b/test/cases/compile_errors/for_unbounded.zig @@ -0,0 +1,11 @@ +export fn b() void { + for (0..) |i| { + _ = i; + } +} + +// error +// backend=stage2 +// target=native +// +// :2:5: error: unbounded for loop -- 2.54.0 From 12a7a0d76f9435c8c538f762daa79a49ca0470af Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sat, 18 Feb 2023 16:28:21 -0700 Subject: [PATCH 30/36] omit safety check when incrementing for loop counter Since for loops are statically analyzed to have an upper bound, and the loop counter is a usize, it is impossible for it to overflow. --- src/AstGen.zig | 3 ++- src/Sema.zig | 24 +++++++++++++----------- src/Zir.zig | 5 +++++ src/print_zir.zig | 1 + 4 files changed, 21 insertions(+), 12 deletions(-) diff --git a/src/AstGen.zig b/src/AstGen.zig index bd1bba168b26640322ad82ca01125a61504a33f0..0a86fd3d0ebb641d51fcf02f6fae1352665f52b9 100644 --- a/src/AstGen.zig +++ b/src/AstGen.zig @@ -2400,6 +2400,7 @@ fn addEnsureResult(gz: *GenZir, maybe_unused_result: Zir.Inst.Ref, statement: As .add, .addwrap, .add_sat, + .add_unsafe, .param, .param_comptime, .param_anytype, @@ -6440,7 +6441,7 @@ fn forExpr( try loop_scope.instructions.append(gpa, cond_block); // Increment the index variable. - const index_plus_one = try loop_scope.addPlNode(.add, node, Zir.Inst.Bin{ + const index_plus_one = try loop_scope.addPlNode(.add_unsafe, node, Zir.Inst.Bin{ .lhs = index, .rhs = .one_usize, }); diff --git a/src/Sema.zig b/src/Sema.zig index 84185f649ccc202818371eb96cd572edd6e292ef..6e8d77475e844a7dcd8f9eee47264e3cb599ace8 100644 --- a/src/Sema.zig +++ b/src/Sema.zig @@ -1060,15 +1060,16 @@ fn analyzeBodyInner( .error_set_decl_anon => try sema.zirErrorSetDecl(block, inst, .anon), .error_set_decl_func => try sema.zirErrorSetDecl(block, inst, .func), - .add => try sema.zirArithmetic(block, inst, .add), - .addwrap => try sema.zirArithmetic(block, inst, .addwrap), - .add_sat => try sema.zirArithmetic(block, inst, .add_sat), - .mul => try sema.zirArithmetic(block, inst, .mul), - .mulwrap => try sema.zirArithmetic(block, inst, .mulwrap), - .mul_sat => try sema.zirArithmetic(block, inst, .mul_sat), - .sub => try sema.zirArithmetic(block, inst, .sub), - .subwrap => try sema.zirArithmetic(block, inst, .subwrap), - .sub_sat => try sema.zirArithmetic(block, inst, .sub_sat), + .add => try sema.zirArithmetic(block, inst, .add, true), + .addwrap => try sema.zirArithmetic(block, inst, .addwrap, true), + .add_sat => try sema.zirArithmetic(block, inst, .add_sat, true), + .add_unsafe=> try sema.zirArithmetic(block, inst, .add_unsafe, false), + .mul => try sema.zirArithmetic(block, inst, .mul, true), + .mulwrap => try sema.zirArithmetic(block, inst, .mulwrap, true), + .mul_sat => try sema.zirArithmetic(block, inst, .mul_sat, true), + .sub => try sema.zirArithmetic(block, inst, .sub, true), + .subwrap => try sema.zirArithmetic(block, inst, .subwrap, true), + .sub_sat => try sema.zirArithmetic(block, inst, .sub_sat, true), .div => try sema.zirDiv(block, inst), .div_exact => try sema.zirDivExact(block, inst), @@ -12887,6 +12888,7 @@ fn zirArithmetic( block: *Block, inst: Zir.Inst.Index, zir_tag: Zir.Inst.Tag, + safety: bool, ) CompileError!Air.Inst.Ref { const tracy = trace(@src()); defer tracy.end(); @@ -12899,7 +12901,7 @@ fn zirArithmetic( const lhs = try sema.resolveInst(extra.lhs); const rhs = try sema.resolveInst(extra.rhs); - return sema.analyzeArithmetic(block, zir_tag, lhs, rhs, sema.src, lhs_src, rhs_src, true); + return sema.analyzeArithmetic(block, zir_tag, lhs, rhs, sema.src, lhs_src, rhs_src, safety); } fn zirDiv(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.Inst.Ref { @@ -14250,7 +14252,7 @@ fn analyzeArithmetic( const maybe_rhs_val = try sema.resolveMaybeUndefValIntable(casted_rhs); const rs: struct { src: LazySrcLoc, air_tag: Air.Inst.Tag } = rs: { switch (zir_tag) { - .add => { + .add, .add_unsafe => { // For integers:intAddSat // If either of the operands are zero, then the other operand is // returned, even if it is undefined. diff --git a/src/Zir.zig b/src/Zir.zig index e13140d7aea4a6953816b6d215b991abfd141638..4dd2386c511b4361eb8fd8813b65593b0a32a2c9 100644 --- a/src/Zir.zig +++ b/src/Zir.zig @@ -137,6 +137,8 @@ pub const Inst = struct { /// Saturating addition. /// Uses the `pl_node` union field. Payload is `Bin`. add_sat, + /// The same as `add` except no safety check. + add_unsafe, /// Arithmetic subtraction. Asserts no integer overflow. /// Uses the `pl_node` union field. Payload is `Bin`. sub, @@ -1023,6 +1025,7 @@ pub const Inst = struct { .add, .addwrap, .add_sat, + .add_unsafe, .alloc, .alloc_mut, .alloc_comptime_mut, @@ -1338,6 +1341,7 @@ pub const Inst = struct { .add, .addwrap, .add_sat, + .add_unsafe, .alloc, .alloc_mut, .alloc_comptime_mut, @@ -1570,6 +1574,7 @@ pub const Inst = struct { .add = .pl_node, .addwrap = .pl_node, .add_sat = .pl_node, + .add_unsafe = .pl_node, .sub = .pl_node, .subwrap = .pl_node, .sub_sat = .pl_node, diff --git a/src/print_zir.zig b/src/print_zir.zig index 1674bd136eeb4f531d151968ff73a8b2d377570b..fb9031296d4de9b649b4e702d74db9577dbecdd0 100644 --- a/src/print_zir.zig +++ b/src/print_zir.zig @@ -296,6 +296,7 @@ const Writer = struct { .add, .addwrap, .add_sat, + .add_unsafe, .array_cat, .array_mul, .mul, -- 2.54.0 From 40c4c25e2b5e2242c3180cd8564dc22697bf363f Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sat, 18 Feb 2023 18:56:37 -0700 Subject: [PATCH 31/36] Sema: add missing coercion when checking for loop len --- src/Sema.zig | 3 ++- test/behavior/for.zig | 62 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+), 1 deletion(-) diff --git a/src/Sema.zig b/src/Sema.zig index 6e8d77475e844a7dcd8f9eee47264e3cb599ace8..fcdb1ce5183fe2f4960a842633370e2e20a189d4 100644 --- a/src/Sema.zig +++ b/src/Sema.zig @@ -3934,12 +3934,13 @@ fn zirForLen(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air. .for_node_offset = inst_data.src_node, .input_index = i, } }; - const arg_len = if (is_int) object else l: { + const arg_len_uncoerced = if (is_int) object else l: { try checkIndexable(sema, block, arg_src, object_ty); if (!object_ty.indexableHasLen()) continue; break :l try sema.fieldVal(block, arg_src, object, "len", arg_src); }; + const arg_len = try sema.coerce(block, Type.usize, arg_len_uncoerced, arg_src); if (len == .none) { len = arg_len; len_idx = i; diff --git a/test/behavior/for.zig b/test/behavior/for.zig index 0c5ab392f47b510f5295a2472b6c52452719eb22..67a20e48404730f749e30dca946960b7ee668d8b 100644 --- a/test/behavior/for.zig +++ b/test/behavior/for.zig @@ -397,3 +397,65 @@ test "raw pointer and counter" { try expect(buf[2] == 'C'); try expect(buf[3] == 'D'); } + +test "inline for with slice as the comptime-known" { + if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO + + const comptime_slice = "hello"; + var runtime_i: usize = 3; + + const S = struct { + var ok: usize = 0; + fn check(comptime a: u8, b: usize) !void { + if (a == 'l') { + try expect(b == 3); + ok += 1; + } else if (a == 'o') { + try expect(b == 4); + ok += 1; + } else { + @compileError("fail"); + } + } + }; + + inline for (comptime_slice[3..5], runtime_i..5) |a, b| { + try S.check(a, b); + } + + try expect(S.ok == 2); +} + +test "inline for with counter as the comptime-known" { + if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO + + var runtime_slice = "hello"; + var runtime_i: usize = 3; + + const S = struct { + var ok: usize = 0; + fn check(a: u8, comptime b: usize) !void { + if (b == 3) { + try expect(a == 'l'); + ok += 1; + } else if (b == 4) { + try expect(a == 'o'); + ok += 1; + } else { + @compileError("fail"); + } + } + }; + + inline for (runtime_slice[runtime_i..5], 3..5) |a, b| { + try S.check(a, b); + } + + try expect(S.ok == 2); +} -- 2.54.0 From 15d767c62154859724dbf63dd0fdfa4195e33256 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sat, 18 Feb 2023 19:17:05 -0700 Subject: [PATCH 32/36] add safety test cases for multi-object for loops --- test/cases/safety/for_len_mismatch.zig | 24 ++++++++++++++++++++ test/cases/safety/for_len_mismatch_three.zig | 24 ++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 test/cases/safety/for_len_mismatch.zig create mode 100644 test/cases/safety/for_len_mismatch_three.zig diff --git a/test/cases/safety/for_len_mismatch.zig b/test/cases/safety/for_len_mismatch.zig new file mode 100644 index 0000000000000000000000000000000000000000..871e203f61c5d23cb2207516a5b6a7f529403133 --- /dev/null +++ b/test/cases/safety/for_len_mismatch.zig @@ -0,0 +1,24 @@ +const std = @import("std"); + +pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn { + _ = stack_trace; + if (std.mem.eql(u8, message, "for loop over objects with non-equal lengths")) { + std.process.exit(0); + } + std.process.exit(1); +} + +pub fn main() !void { + var runtime_i: usize = 1; + var j: usize = 3; + var slice = "too long"; + for (runtime_i..j, slice) |a, b| { + _ = a; + _ = b; + return error.TestFailed; + } + return error.TestFailed; +} +// run +// backend=llvm +// target=native diff --git a/test/cases/safety/for_len_mismatch_three.zig b/test/cases/safety/for_len_mismatch_three.zig new file mode 100644 index 0000000000000000000000000000000000000000..95bc24426994431d120df88e931fb9fb640118f9 --- /dev/null +++ b/test/cases/safety/for_len_mismatch_three.zig @@ -0,0 +1,24 @@ +const std = @import("std"); + +pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn { + _ = stack_trace; + if (std.mem.eql(u8, message, "for loop over objects with non-equal lengths")) { + std.process.exit(0); + } + std.process.exit(1); +} + +pub fn main() !void { + var slice: []const u8 = "hello"; + for (10..20, slice, 20..30) |a, b, c| { + _ = a; + _ = b; + _ = c; + return error.TestFailed; + } + return error.TestFailed; +} +// run +// backend=llvm +// target=native + -- 2.54.0 From 5fc6bbe71eeecb195d2cda2a2522e7fd04749d5b Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sat, 18 Feb 2023 09:49:40 -0700 Subject: [PATCH 33/36] update zig1.wasm --- stage1/zig1.wasm | Bin 2377691 -> 2388586 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/stage1/zig1.wasm b/stage1/zig1.wasm index 9a3b25eb30ad036d83caaf3bc78cb2a235ded55e..2fe8728cb3562fe78ff3acede61698bf3a98adf3 100644 GIT binary patch literal 2388586 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 z≺OTpu6gNm2XyWCmWar5#ZXMHs4So@#s)hP6s8iZ8Z9OH3jicBq= z+^FU>%HFuY^XkOn`z3YJjFS`f|G>pVky3xkeS$%@lV8ahwbLFt#>4M=3YrT~LXD9fQ8ay>&aq1!s(`)7jY*xy8-8?s4lB2?DthR% zHK^lb_&bd`epDEJtdn1SYU2Bw-Db1PKl`IE{I{0$-iDC&V(44;o@{gM zV(mTg&i4M3&Qj0e2!-BxdBv2fy&HK3|5ybbj#9S&?6=EdKv!1mW?n%2{1r341`6j4 zz!XqSC%0%bMU0`Ds>oi(FWVwqnY`EtiuLwkqhg6F_U)bggQjlVg#!SiaBsQ^p`)pk zSwkR1OKFE2CkmLMJmOE1kJQ`YDKq^a>%cMtAZ-~oJ(rv$Uz>4&XYCs znxTnQe#Z3KTJalsUW2wQPx?`z1{+Eb@vkrZInE?ze?*dWYlY=Ov(+ZunM66Oj4zxL zU5Z%{BA`TV`D&8#yGmK>2bh_is7O7d9>+bkb)4M}1xe0!&b!7>7B$|Hx_JXP90~{% zhCCU^8;Df2Lu6*M?Isj#+szkd#+4?kG8sfB}tWj)0i1sAk%V$`v$rRpi z0V2SnBXOIZAQ|bKIRSM~%QbV6WS>QJ&;|g=76J!Ye9T#!{@hb&dVOcp%C}}L z558I+L_=nu#zv~O2C-3JWmx{vVEAK*>#il$Yd9igh$}f9+|vjsnv??1dbl?pGxh}nZlOiGJXTfb4`v42n%aw z2CD3S{M^46SJP(wSzd+?wu_@A95&6 zaF5L}(vyI6I*;;CInt@rPc$t&Y?yP$d^Qa-7=j`q8|7Bx8@mnUs(VxALlSP;u6n8~ zg-sB-z$2J0WWUN@nVKIb+{uyQMW>4lo{25QC&@mh$$+=eBp;RyA>n3-wARKs!T5Xgk^%c6!WFB@IPBn7FP&(5>oXiq5^|T zLK+vLx>fd3ZDbYQg|e0^hi6YSU@Rb;K57!Frxeike0^M*>@V%w-z(i4n0hWlPiFtU z6>J}p{gFNH1DBZ?BqwN2n`U{RSj##gPpoP)es-yy=MSXaP4b2J+)3OsZ_RIEyogBt zvgOnWOAI6l*@$PAV~AeS82~Xbd)m1HAT^WX7^iTt8NU>Tp(E6}^h3l012JXvI#~eh zzn7zW>$$?j>cBFh?5oMscC(TvG-P;&Kebf-)45qmM2G|^cJqAw|ACwJX^r`xo167% z4HoM-$^o1SSDddOUDoXX@3>hX#rf|d7$p7{=+|{#>%^?G} z845S{$Ua%!*psjyxirORUTq9*-LP=@D%)LC8$-)*moVLy*G}$ohBplWq%bJqV7=fH zR9|rGaQL=PYv6A1oa5%6%d`%$Hua|1ydb1y*puDoCKLZm{XDqjq?v@oy5?nm zu5b0&g_%}c(_#&mIt`S4-BwNx%=!W?b&fV|?b8l2u^mEZQuByPl3#Y+W!bOq@4Rnc zagpg37n#~#K>EGbck+MG27!-+g|h)OJ>-eB{5sz#zdm4JZ5M0ySWK~&>V1rUWI1W) zB-Z4wa&^YppBbPxdtd}${(wBFzdbNQAh0GP(xH zX2FOcoDpX5%@P91f78i}IkKQf+|cO2zV`1qV}iEJokmCUPL6OtQh|bN>R2>E+g{C_t3zV!7jR$iGrvo4o z3g~k|vK$A6fy4!fxxmN3_TS1LfT@Jp3OLLI1q@Ko=|P2nd1bOB2q@3rC6xOAUbSb# zGQ0+)FHlN`8H)NSX(`M8M_GfGKm@IqK>pX?0?3I$Ag#Cji%;-|w9NI&wQh_sS>clG z@qrQ=*tOaJU3*4a$Kn^lN{%{!c%fa;!j~6kf18MGL=h`OC7)bwWt6d|-zsxuvZ_Zb z=S3MJc%S)YLmHIGlU3@%KQ?^XHLHnNd9^$|@nL>91O)TDUZ39$%I}z8jV$!6YjPb! z^`0f#HL*BQG_ji+6D_Iaz{J|1UnB>@;Pe4eZTbYm+ZKmt%wgcoj_Iq=QUcdEGu~|j zb7;jXY*f=Pd(U+8Qe$zX=1Zk&DAP`2+q*FdV>?Z{pAXK;jpKop+s;#fvY6m~3z9jt zWtOB~rm4{AvI`Dc<*X73#g=q+cG0e6s5Ois+oiU$F7~jD3pu}|m-fA(@8j7NxNT?K zhC-!X7QB*9@`>Bcai}xrTCQaLL;;Y9%)e$g##x)JWo5Hj+3fzJS^1`)yxAx}qeZC4 zAa&Vv_ICbg+ti!(3kOE)iQ#l=3O6&Jxn9N^ED}fCaOuPJ(WSslmcWniEOv5m1g1mQAKo>u?XXi7^r8lH}MmzQUm# zUtL7nBsI`A$xQ2UCWUyEOQeq5w}Z9_PKyt6^vUd}u)^ebaYK>mt4x(G$;R|jWsHfk zKc&&j;~(g!lGQq>tM$-1y{9tM`h&OVYgX)0Dsk>c$#nN~CVAFX12hOjlFrXt1hs!Zcm(WB!GQuosQD@BU){0e`r7=VyW ztIeoUB+iyh%lswiV4uh5qC73WMd9ns{kBfS@a+XiO1_6=THJaktMDYVLMj7Krey(< zqP-afiCbb3#pyDgQykN`+lnV4$CvlUs~~YpMr4`76r}~JDM$yQq9Ac}2PK(Eq}fKlS*`1Vp9KxDj4QlSCy*em37>wuof{c; z7<3b9sdZ~G)^o77_3BY&nxlbH^3FsJONNOa_TPih)nh$T{RIpm7Fej2GTS@|K+tAw zP%aO>?zQ!FDAqG^sb<1WL?D?~M+P+Qk|xA@n(iVd8e$31p{PlndD?*va`Ibvr=epo zymPqw9jxZ<21Egj3H0+qR0;WDMjUVv!aLoVA8lhXEZ`pHR_+$%cR z&&6vZSp|BQBu}(6eAhrvB&3A&1d9-bUA#+yG*OfL z=?tdVf*XzaBU&r!Om=shay^r3N?7p)Kd_^gfKV$WA?jsCtzcVFHAQurj69EOit1qN#K0wnFw+*d zE>9^@SP|Sopc-dzSt-!`gd?evp4O%%m6EWH|MZl7+Mi@Xr_IzzYv=3J{zz;-KeLS` zCu9K}??;dbp#gZ)a?+r}$9}>uk{TAlzMR~PA%IxL@~_-O5{Nh=?>;|Nfa0h_^4NDQ z6aQ|NHmMYLW3m(vR62XD4QgE;*;z|8*r8g_DX+JPQIlhh1kE3CS*l}VD(hjC_9{eM z{#jGAVjMPKVQbtc^pU`&0eFb!lqZGH_6)Zk$(i>ZVh01 z9r4&D?n1$McT3TKsL5uG&Z+r1)s#`t(JFqUyB_y6`z+W!$|N|rGTBg7M-!&chHRJo z#e|yOS%OdPKrPt%vh7yUYBlOjRmF&tPY;e7om4}_3NV$z*{u}4QA0N$K_4=}^l6ig zDYPLIX!d8U*SAunWyKt@84YWOVg1t3u#glO46li>NgC#6+4V9v4Vg>%J4=-~htXw8 z3YcI=rNtV7iY-8v2c#eBt2hz5f^se$>KxN&BcI=;b5zsrhz8|xXg;SdxHs&@qFry#*kY(R!87C8ud{o@TT##E{NK;_NaaqE7#Qf$2 zBr>tM4Ris!SW)KgNY8r0)|Z@TJRwv@u#&yfR2XUIVBNj2efFz<5)$=psnLBfHY=B6=mu%a?4_b zK^P5Jk3StAH%@k@;%aJCMfO-(5j(%s@+iawB(Z}2iMrREw$1n>17AB>{_w_BG7gq( zi}w#w9;?hqUFO;PNF#UfZV@z$K}ML_;u~acN>9Ke?R*CAYI{;8A@Vn9>{v7(i%8n} z$Emz1`8bAIT%YYr(-}UGMRSb!hPQKnzyd#IT$|EG@T8;q6Y{#X``p+mpNGz~bd2Eb z-Mi!xnE?IaHC$(~V}-i&#VsOrfuTp-a^)Sox&{NYm%|A))#_vu&?`6PwQpq z%b}HMt@;Xe%D&z`*q4?IXcIt)o@UizoePcCdqye`Lj3+;#vvV7JxBSk5y_O#F@sJ- z$#aN+#f{a%5%0?ww1nuorD|T?rrB@q=nyZY5Q9V)=>P_-miZVKT7FP&X``~RQ4uLkSS(cmz8OKP-t+kiGqet zfK^PE4DIZK*69(V)C}#Zr~DiL0QUFDBNL3Q&f}OZH#^m%qK>Qwh{<0R`sK!PBc^qm zc7C@w+h}S-IDP(9T{&^qR!h0Z+Kf9zLK{sSFCuOJU+(T_O9gZ@LEP6!47Y? z>b%`5cpFb%X2m)+>Vs+jxh&FYy|g5g?q<}ND@a(C4m+&$P^;O?@b7F^mCdsn@M zN@Z_>y=#@6zipo3*hfn^F$k6;g}(=Z4*Xp;a~=#1LBZgETI;|${LSqGHAR=k;Vt8E zt^QI08e$1Wpu^&=z~b%Bo&RT}&9x-)&%`ff53+I8v(j0tP$ZS+4j3^F`vMp@LZP_< zk!b~Rmry_k9<5vmy2{}hYQzH^5Pvt*@Lx-^h2lLd) zzgJeD(B-k{6AgKU%owU_%H%B|8qa#u# z1fN9Ovu@9y^;2AW-R;pZ0z(undd|P`meX0@6h>R)FlRH!0u*o=Z6Q}jN_KC%PX@Lp zRP7P!LxJcmv~KgGqR^TJ1~g5-KC}KRZK@y&JHUJ^{c47j>@Dr;Nznp&defL@L$yZE zvlevRG_IMJ&${TQjxWh-Vs!Fx9q8DSTd?udx0yP@Dn8MUCzEt?vH_ZOP!(qe+I9ib zf*NP_;4kWT_FDzi*LNG^-{}?J_L=|7{M|(r6z`@f-c3`y@2je$__jy=445yk7F%@dl*^T3D}ISW^oq_58&_oV~SbfmLg`=k4K!wyK6U)zGFj zgv%^@ThUP0C?iZaq^Xp0#jb03is2#lE02GWsH8{%2F1jbsGU;-b2M-%^9I%RfG|+q zyk2n`arVuy-D`+&XZY7RW%PR^Y*OHRL4_A+r#}Bvfz19(1$tRwQ56e6(Z>&xcY3M;T~U75AkkDkomJ7XGE9rIw+s&4_z{pHvN z0~@a`q}!S*uTlAZsysBfC#$@zILYlJC-V;!Js0!lG_e4L`9kAl{yR%Un7eofUM{ZY zL$#Iwdl#&%2rCrL*KAnJgIHPO8oE{0UbMHX*q7ek2BeECQrgh#O?$mzf7dC*VMIg7 zCWhZF71-jTnHCiL!wlw2kFsg7>0vkexX82C=C-PAQ{{It7RVZ*IWKyVPFz(v7vauG zT+TEH3HMxxnpK5aDu`nW!Zo-Y{d0Oh$NP^d@TXfN+-L0ov0dZIXO&YiuNLNM;jO#2 zP)Ez|4J@bu!WHwso)6>&>Yi0i$D-aZa&`CVmam>QMqbjpWkMYz#Iyv5_G@s)Y7-g& z#(bT3h{)yuXDkzax~7`M`|)>)w(l1W(CN95zo9A{09uzCj;1>IR;bxjg-t5dk#8e& ztude4OvsNnGk9YDK~oK_ zU36|*n^pN)%GYV_A{%F&)-Ed9a84EGs8FXhIw`O>ulMu3AD}fPdssgg^nQ`dNz7;) zamUYN(fzV2LnqV8BF3F1o`urOD!pQ*m+ddgZ}tuzUYf4AZ<0hT`rTH^ZTkIy#6w*{ zD+J7vH6R&SpS6mMW|UNChD~jK-fO6x)qCA2y!C6ykGcr6;rj-4PKD+bn8xQE=N>f} zIT_OI7nwdqI>?5rZy1)vf$0f$2pni_v6EsnqG2*~r%N;>s$Jv^0Zbz{$(Lx)s8*)D zK#PmUQ01twR6|=bM`>eLgML|ntx$L;<*jj}ZI>C&H>|ByxZN{H80W5VrpumD{A8PwwNgo0rq165Alr=yOLiF0W>k7iNZpF$EDHeG(#8`B};v z5wiyZWoD5h5Fds$LLPWpKr^R`b5t~9t{15hw93p=X2;5<%M*Oo7gT0()MtHR^rU4* zpl3~5IW@KBRZ~Ni;Zt2V>)E6LYYdkw z*QRZC^s012P18lGSZzu->S*z;&7YdsuqKx1a&T@1D5ScC)udFg{-)5*kS<3mJZ%a1 z?K-UJ8t;Vq(I3YGwA>b&&yNY(nXv(Aw}EzUjOTOqcFO>veKM?^Yo%OJm4&gL6MuNu ziKqLpAzW0&MJf(YJRKIZv7|D~2G7zM7s`u~SEwSvZ5#0Hb(r9o#i`U65?EyHWNkTI zqXD@9Hq_7>O}u-6Zv>5#&!!4&Qs9x+b@5B5#t{kQ*Tp~6A9o3-x*V*{9w?M%vG!3G zm!efil=ZcxrnV^W;0rK}vmOwuu&_g%#YGIyk3RXX)2TJ;oy&i;1(384mK@Vry8CXP< z68a`HT2e5BjQ5!WLO-7fJms;UMyzZl0E3|(ImzDzz{+ow9em$#xGP?PHGz}xnU)>l-}F6g+(catl#W+gmkPZkExuj zD4Y7iUgR#WQGB_8zoj8b)NzsXIalZ^zh1{BHDv*F<;QBkaN#|5U$CVv$oO;}J|9#eX>X z?`;!+Q#CO8AoEtM%Or-nRt>8yWJS2QS6*)ae)hX<9U%yJe+s1E6Wd#vOJNnHaipxI z+56hE$orcvQPvM)?1RSC7KhS9PzzsY`Fan4=YK@d0pxa!VQ{a>yvE{--IBh-1LGib zQ6-m1>#)N%rJL>J0oxRbtwRgTsi8NNui@4tbn9O|S;O^#AOh zeT0kVZ~NFQGv)g!Mzcn1wCCh-ZM?3=*KCf~$IZ%Bbs$Suud2CG)qHRJ>SR+jH>~C+ zH8FP8Yo@+y_Bq(9YA(0`ZMv_j9k!ZU60||m)KcR> zt*P1?)rLvq5X2b$aIJ%Nm0YLfF%fZXh_)hoYa1%FL75OuQCXL&9ye8H6LgVBQDdsL zR2AA%p{;?2>gABrbsCLoEL0=tm;_oQBPP6TwDPfRtKmwL$=$Mcl;%JJtJep%*_s$s z-i-Dy$T(GDW`7^^b)mVley|$3U8kmceMAk!gToRNlzP5km{9_C!QjI1JYbl7(14hk zIGMeF2N2e_h9*5x2DaUSNS%f?Q37JN0AjgK)IY1wlOiJfeFI_^ApT$n5WdHFQXmr4 zqCk5BVopHx>dZ;Z1*|C>!KGvOmF7x}M z8k;T%?F-ybxRXr_&{*nJXo(z@EQq21i3abpz|zoIA~Q3 ztlHZ};2zw!REy)fimd~TG=10bTq&-pYb~@rrt!qdiNmdS9LFvGuYda9XeRN<2>)ZY zaIZ>vYe($_XF8B0_GlemW2TuwXg?3JFWAi(%LiobJ8MK3E{EhfSdvtAVY1jIgms>KFoKr2C?#rX(l?@u zr1NBu;P|b*X>p>po*H8!abO@7D~LRr|XF zM1{*`jpPdJ#EIG-$HvDi;$74* zmaOQain3J>9WLw5ioIFp4S87+MAOL%*Nd;})hZ9&aNIbNoERME*F%hnv-_HguYs!L zzFc+-TJ(NJhJgkF>|8Xsu7=iWXqX1wG-Ni}+H6V{a|kw6af6D(G&pWFSb&c>Afvs7 z#RcZ!c%HJ#ihYWjJ$`6CLK zcAj;ZcF<b6?lrqb@TIZEE$Fyz9zgsF;X<%%rU_R_-oUSF)&_KK2L_nyptRwvgh z1trWHmMYPx$$H3~C?4P3fP{MTW#WClE>$N^>}0libxLDZWX1F8++32y2e zy14umd$=iZw+!4(`zr(AjO=NjK@e^8_VRdZFFTUA+jbR+kJyu6xmNW^~}mcSd7&CuJdw7F1<%pXhLbziIYivx?x`+lRMf zALGCS#_0v#FYOCUC`Y;6U0QePEvupBeL;lOw4>2LIP#wEU@h}`7=f**{tER?l2j|h z_1(4|l?=jjRmD~fUSaH>_H`@KkCHvQp!OAX(R^k9PB3(Q0P|w)LZ8%+8grb@09dUw z>NPd8zF$aL<8OtO_5IAcUT*9!)CqDhD0rieicOW+1cp~DsN75lL1{M?!zJgI3T+jD zhWEbi)_u9vy11K!vSy=t687xS(*B05A9qzgFqkJ z5NfUW`JYq8IVu_kYkNi=8A7QowM|J8?RoVdv-wf;Pw0|jetceuo>EEu79pRCK9xsn zMxHy*?s=E|R(`}~TNX7}dFJ#KVmc(3fC|qa7Ol@6E*xj}bMbJwJII$0`--(tJ(E>t z{xH7p!+??uINE#zpm9p+QnCIxrtHQGw7BGJhfmi0ZmWVtb{)a73IzDwoP0ntB*Gb& zRPHWF85%OcL>bcUcreQY(pw<2E{`8QY&oZGT-oKm%RsN%IILjY&BHk5Kx-m-#y!Y* z>|{|=j{()iz9A)g_69sou(0(eiv3XQK0-R9(5RK0Ig|7{FVv`@C)pblsZ_ET_F0 zG0Y6s!CLTyfgPHcn966(5qB0`-*sdF*CyBGKwfZ9O2FQeLl60!$sk6@$5J(b#YjRk_(Kv7Rge_wrv``(Iqvy zM5As#34Fjgg!;sXNkU^OWXZC?WA&wCJ&?!bR8Id>i55QhfjI$-Kk+zrsxRv1+cDD1>T#f$8$g z7of{iY3YIxc(!T#bw!>rw)A#IrI8&^h}QKTtJIZ}zot*`b6tIIgl5*gnMU?-8`)bF z*}4F?1xYMyTVfe*IW_Cbgwfd+wdx_X`5F&G*qYW2$c+bQN}HaO*0ws{-UX9^r-aFY z?RG(LGZ#{E=E8uqspfbN0ebLpUtNz`afsval1Qz9$*Xg&9c2VRajBd|k&hLjLBP9jCl1^XDK{?_!c{qD{64X8eH`TYv?QjkarRo3VnSuH7`n-hqhk-jh_oDN`3!p7c3P$Zm7o% zCgvAZHVeK4*v_|bl37lSn<}_vplt$Li0(XS#2A=ZCAMj5*jLl73FsL~;+Y)_ghVhp zMN2GlF2mxS_K9=s6NmX$*;aOnT*)m5ZeA7Viw$NCtEIY#xmINsC^N9KvQmi%j82BO z_={8s=vh+TM3%(sNCL?zV*yA6L=zB2Cw{ zJ|T8+zpJQoHC~&RHMPA?#Sr@|`($w8Y##7sTt=jP+koFVP;Szs&8;6`JFEt_?Clz3 z7>qBgp>IY)d&G@z?*G@5I8Y#{86#p>{itmRDFT!m6!}`Lc!C!n@Fk_7S+NcE!2%Qmbb0Y zId_MF&?=p9sFA~xT3Q-viDG0`xuI5US;dxj1KFar46&2|{rs&PVPY(po`_W=Oy0C z@sK2*@DsY`+L9lq z+s@Y;+!B|(j1$URBwcA-5=pmH86ijW%4I5jKQV6JB%Tt4tDT{e>eok!=T1;bQnoh*uga28o{? ztX#KF?>@lny*@S@~tKtpc1{~61g6ftE09=%WZZ~4V$y00R}XJe_5s#!az>t(h5 zZ-@pVrR?v~oQTARu)yDCGO0`_J(=MEp9l>;k@b=?kd;`l-5D3<>2}TRZ9f2mzIMW_xLV9Y((UjXAmO?BM{I}+<~=HTDXy#zrFoT}bkc($Lsrq=$?Q+COb9fg zQtZo{NNbfX?%+nKjId#PB4p#kPc@R3-~O)TM?grI$Uv^a(?EeE`;iLf!0|{)`^K^% zSs;kB8Pk)C%Y=Ypx<3NP8GvCz`Az;ELF`s@@MfnQ(9~xYCC;u~y*kz^Zx3b@2DbMdGiy(`-Ze~GxsM$&HM_nCu3l$H7@0i`*0#weL;`pRQ!5X35R7WgPuvV4$M>I5V2Bz z`~}6QFis{CjY~TStlZd32q zM7ZVH2H&TXJHTaF~L+fht zbb$0OKCjzsUzOag2g{T;cl^4Foz|~}N{{N-T=YA5j;JMTe`RP=rAC>NM;xvY&$~)&CDr zZjR~Vq!zq6tEX}YqgyxykXnNhh$Q|>6@$Q!W_NOM`to?u_}Ys-M52oURFl(#8YI*R zp$g2DJs}@Q@x*4^Ry-Mqz)zz@!`;=_yQ;5mCHMz91xCb*b7>!fCjp5~4(T?kxkw(g zlik-u_tGxtNZ0w@+w(oiBl^UQx~xwdxQwe0sPq~mSR2A7ONknf-lES{VN(HFS?KC%xxcm`7Jju zGomJ@5l+9L23J$RALv0o*_2!!lifn{RT~uM2}$`2N}85tcNv^yUU`krB^EdZrvN+8 zezBP8^QoEZK(^D#X!c8Kazfp5#<5}QjU9CNw>Hdt@!bS_z>rJr{%HPlkG&$x|4l}o z7V13Ctp-?o(UPAW*ewOUK*UAYn9E1AU*?gT=Ah5$+k5HTuj{?~w8((`9VY+Qh~=iz zDrq%d`xHjV3i4w<7BYn7kG~7}BhHLULjpf0Z@!=&5P<7^>M~PdQQu}7TA7%hOC;5O zdJ)zlQDl{1XvUV0oa41s&}(Iwfy_=#tC;Z0LLr6mtiO$<+cLU~BBhmT{S8TQVd#hX63@3}K?lUN4?$s@9%*Ar(pKDgy zEGr`PWLy0M^7+B>f4Ha+hHCKqO5tHmI^(#8_uL0f`@I``w0UA9yN3kmT3*N{)AHqh zyER4N16QF&~Wn>f*5uXRYsZkpsWkIWG zhtC--X88=cMSjih@HV=-i)VT_%jdU=uI2(=iM~Wa`Pcu!(sqfiNDRYYvPM8xK7={) zJd_mpS1P$Dd&xgF$yFeVtm{BJ(TQ@+oD(n%2^Wz4qc(U#4? zlH>JaRAq-^>UCqS-jj(4`Z(P2Zie*L`tD&Ebqbte$)Fg2?cn;R5K zL359R%Zl9Srq)*3#Jk!@bQy^&hKaUM_e&%pb{CB_M%ZTw6vWoo;-DTrnbN>^%NEaW zEaG}JVa=xrGWS2ArqS}r(!`6W3Ro2?CU^_5396rRj2$%^URev{v+*6n*pSUzz2H zc1Y2E=U%w?J*9Xlcg- zfl{mJ7SrQx>v3MIw22eh$)pEslOA*6oLQBgP2w(1j?z!8^3@tOO_cA-1cuDuZ=C%` zp%IEM&PihsQt|#&kNUUD1a5RYk$f+)EL-AS|vtePk@*Sd+VAg0k=To_7t zLePT&b&U>T?S%cO2}Wm{9+OYGcDybeZtPDYVKEEJ=RzSmHbI1b14eYas-&WeG7_{t z={AB{FoC!sfhggOy!JCVwP^Vu%8SnE7h4NG*-W5dg{q7Ns=}s ziyuGFro{DI62hRD169e(83Xh3@1csr`g)cvT2Iy(ZC^~jZrf<2WE!RAU-;noOYa68SCz6&tYDy9GP?1%0%6lY$bbGX*>Lr<-!w>O z*>F9Xuofhi3J!Q?T74F{>EyJopNq0L(Fl1kS~S7KfAURFO=f-mE=KX4J4EC&y0_Wc zT_qwprubAuWZ1cke_MAhOq}n)zr9oQ{x`4-J@Rdvn$X=pyQx9@GzP`gilAy_KaUD@ zdAx9*42ja&nzG31i7QdoUHG#IAcIKYj^tv;FTrpgLgNw>ToaNmsBuF=<8cX%3Gz9l zT2Em5`1bsJZvE+;J!zgk_el0;6C;b~3H7n)Z7qxGF83A@tA6Bdf}o zD}_rXK$F?M*4ff|bS8D+SoAJs;xp-m9G=YHQmpUiCGpTe9+bHQZFHIQ8l^V6jJ8~A zqvz2QmpHf|%@tiC8AbP@(DX{ZX_8%5O=~_1C1Y2cT_QglQ(URBh8+pNc-j3S5Btt?5JB4i+u!HrOzU=h|M%A1%{# zpQ~@B=;&-Eh9SHWItD|Y2b6>n?rE)&nveZljoMZSZPfOx!Z-I~MksD>_|pZ4#f?>V zkTa2cx+|v-UMp6_5ss1YL5xOvqQ~7NF)d`haZ?mz7R1;6yqvrblegxr@26qdx95zY z^E$G)|5o9ma`vR<`%=YU>zXSX4_A0aipELQ?|mt}p9-Dbys6O^_wGj3rMp_Ky{wg! zX|g5nmONAPvY98TG@iSKUpC>wGI=*Jncb6hC7ptxMO4Ax0xjv3hxBZ@c#OWFru?J7 z$fB?h(`0pzFT%ub@)b7Z&zjS;KVCDt3;POjyK(SA@O_n=Fpl`(9*T1SJ|Yjobg~j#3Sg|WibJ#56gyvC(kuk@uZu^Fg zQ#&BSeump#wG4WF;k6`GHYUjl{ih3oa2;EGf?A{Uo*yD=hV74BS-{O@J=$5o@I7Mg zTiI8E=UDU;wlqyAw=kXV<8<8E;MfD_<9J<#ggT;*oa}e&--OHejz|nmaCh^6W)@NOx%dbj7Go z&{L~sEBdZj$i99aI1q`PWqwBL^P}rL>+_Ro`Lx+-)rTTlyaS5*R)!+{tjZn}?e87BZ|VXO!WB~& zdOMKEf!>AU#|wG~LhzFI|I zwkdIsPK0;cMO^!P6Qwg3fSL7WDwsUfkcsgy?#bS0i{-TLJYt7y^FwlQtwweiG?ylU z-Ld>-gf?L$;d_VWw26_AJujBGG1!MZ#QHIwoZ!_+uk-KF0pi|X@WqlU(KyN|n<4I7 zflxg{Jx=xy_71||0jsHr4#^V^5-_E<$`TA>an9jbJCZ;rk^$rtOXZkEkF1S6)QxP! zjA+rf8`JH!Nn1*7&C&hZQ#!uo2xFAJk?c#@TNKaRQe*@{yA~ipJ7EomvK&MFRb0kM zhUpfEu7zlV$K{y&XZd^(yQ_LeVaz@VhC{D5JDL|s(r3{LOAX~bOoOlyC`o;J=jdM` z-^jsq@ms&n9J#;5dUrP&jo0T^7ObeAzz_4Uulh#r!@#`M>V}ma{(zR zLW6-~BCKUVC;JA?r4qv6s@EoqXb{2=LSj&;`i80$R@_E_%FK24nqM>Vt(x&r%|C4! z+IR00xgyD`dQrU|B7xW_w=efw$D(DWdW&!9wXVNSL9P(`2&;)qY>*5eirdjs-DrLq zZ3oh6<#&&Y{sa;F>8UBKblD##{X_R9oHAzd1;5-tEa0$louZ`nV5d6$@msxj6Q&s=&!;Ix%vD#w zIA>6_^xcBH-wLi|3Ns&;)olJXjhF-7!`8Q zIMl&+f?A%-w<;x%=mw?R*v!$ZxWFB>VGD$$tkG#8iXp9)^F5Lix@B*nDUIVMe(*sE zp|*XJ8C0hc-K6_se(>SCxzm0Al~=Lzi`n_f;c@pD$+*s54HD#tWijrR%|d{f78hCuN>9nZP(ucHMW zMqN?#J)g@lj3ALDL8i!aP;YqE9Jy2*5@dLxkQ&p;7shN_O_1dch)tw)$yLRg*?%U;UcWA?mB2I&&_<+7^^?$nRc}A4B4P zkG3y>W^D`d4#nP9E>0p+&M3N-{bftrW7*|e`6IUO>tq~8q>Jh}xwli`gw_{2+8&=0 zQL2&buUf7foC`ah3Ol-ipuo;Zg&pa%h8>(-h8>4+%yE?7elq)OOI*afB)h5zJCLM4 zD7jQegtrx~Rb<$`{omb*u_=r9Gj zyAUO1bIiX|v5(Mz!b2*#Xe$pgpZOH@CEzZ-bOOkwmw@+Y#X6$J0q#R@v*=2#C#oLg zs9-<z+kD=1)Iywv+lkmp&>QtL3U6FBiM6kXdl+Z+WA8_SD8-h8UvQz z0Qe3y()Yy*wn3d~q0UII^hYZV(#>gYI~=GD=)|q;YNSl=sVS3bk6)ECsd2ha*59Ln zX%Ekq@Dvji)JY^37Cnfl~B2sy@eEfo1un&;F=H#7J-a z+E^d#`A=O7B%wF&#>V8AbBp)CNv1u?N=39VEs9rje$#m5**&)N(IiU4cS1ce!t5+K#p4I+x%4s`F? zZK`eA@~PIk<1{)17mKqDqm0QcAx)ogDX=!ogeN$uGQe$IR zW7FsI&Bz%%^e2jGPBpO#QrGP1Ybw=Fj7cl72<_6P_0}IzMt3zX3Cy(8xb1u!{f;IT zEgHPb4#MU{LQj*cIk9$qQaynodWY*j=bBOjk?QSgN)=91n^Go8=XTCHt(rv}1;%hq zrN9>g)lzNj*tvj6Q`au0j@Hp{q_BM3*;U)8JuWu1eTsYhD7R0V#izrpG`^Er)#Ipo zgjwm4xueIDSEWlhuU-Qj=i*gUJO1BfRSiTE_sLn6LDg8*)>P&jO2!^UPLk|bnR(ND zT=~ha5FPS8Kb|Lfq#rDJ3aH283*#Ix4Gp5fc*DLTmQ$$FInGhSqTG*|cN+QE99lvu2IK445nmYgQ9$R!ox+|DZK%7kwUSbWJo4D`D`Ebpbn+=TZ@m zOGqG`)syR~EtGk&suYVTD5E~gAR+9B))rdRl47Tp|D~T=?w#t}>1O)qVW#2e@+ScL z@|d#*Sh6^K|DAR|(@uftI3(M>zHr$fnhg7D_Hc_mdZ%;alcE0M67@`pU+rmA;#YfC zQ}X#ZPG8QkOeTc$#W(||B|OPg7y%C7bm=r|fu>#31$fvD$(Y?b@@tjBGps`1f`ogQeB&Z_ zx3kk~+>H-Q-h%p7vm>WY$lN)`NR!*mS_4flG=0x{?a~5E7s1k>t*!8yUIKu4!bE$^HTQz;3ThAWV&_Psy^4h;|=C z(C;)D8!NR$f*|YCw0BiXNV>S0`!s7=Q|u*COf3Agha0s(uuZCOXRUv=#F*ubgpL@$ zT05@QFYV05vdrj88~IuZAxRA(P((YEqD7%gAo z=qVOFMA2^|IVqZCZ;~(FR=b}|efgOQktCpp{%KoeTK|t)p24quYGOQzTKr2JtybKW zb%(Y;#i>r^fYkR->pQl9qA_PUuGYMXO>gl~=47(W0X^VmZ-WM?`P!74(s2S9)4V(i9VnXeZYdyj~<`@f57YXECUKe(m@tX{BQer`Im%e zQT4Ce?N0KKk4_Ygb-U4o{*ASH;Q#jQnH(p>ZX?U$teLh(Mn?AS9Ua|+ZN})gze53^t zH>2o$#8f3kFj~$jinOn1vfI~pL%ui`h7bvL6W<6|xRH-B!HLwm8KQ0kS?4r~toxwJ zxl>{Tur`0!?Jum$EPd8>49F=2d1#4Yz@z#o0ziBt0c-$uWpXv( zNvF9I&^junC6x~?a0=d0<}6J=$_qItb;`;(9x1I-U85RKoTxD#*~+Lj4^%1j2tneS zKeLOfI>FzD6oP)!T(`)tu<``TTW3q7UWvTqG3X`XG^}q7!dI)eqI!xr{yt|20vy zpin6wR5(NsRueZci-oXS)YNdGlC^;DD8t=D1vWYQ2u1KtpB#+SJ8cyL_CyRtGpj1H zMo~#UPS0sUESlliU7B-#jI|O9^mjGM$N5`>bQ2L|kaD&@K-#^b8?2+Cc1F$2hAw7| zm^f>%E53@3=2T)nbTnrrbo`kTweC1KXWh-Ep*!N4LwAsy{3tHPIc^5hQc)&3NU}SH z!wvgMA`SHYzUi3^$eumm&j=?L0@m!={r+sPKilG2_)0Di1s<#947&hth?Hi@y{TGV z760+MS@GelW@nDFV1N-BFgh8R=Jz*>lz`yfp4?k|vSLq2lwuncI#e%rb4}o~8YKG& zf0rp!&Ztp7Sx=z>aG@bzif3s zS^WHp{rpt%^Q-pr)5Xt6?dK!@GY57|Vp9@Uer7+jFuW2V@4N3r;_;$p%vxwn9tn=cT~{z>V(uBI*~A`XsY@`@Bc zP9Harhux_|IU1H!ZHagHw+ONP%3e z-C2zfHzt2)30!~hK5{8bK?y=(Ua#f+VMVCFJ{G-}H^-tk#V;YtfP^DnQT{H(&$$)O zVcTigdolGC=kz{tzl)hWTr1P&?tP|R#d={{nL-hz;@(274c`A=RqKTm5svLF_U}>8 zw|y2L!9wQ^P(9yhX%E=y{F@{$Epu+L!d!}bS0>R!6AHLWwUfP1X?<*yf8JFdEUP@c zH@V1nnk!+`FNvTCY^FAoESIhyb36R6DkYpnRP$~;KSQh-mxk*+Qn(*C;wib;@EDCt zQqT;uGfuhpX!>F;=)JzgDb=tOJLQKLxZ|qGIMs6kU_h${cagc^ug$_lNEeS zYjGkg8X;J2O73CW#a)nqB51R=E_g*YlNC@Cb2g93EShdq{-U@GBZ0?XQ4a>c+ z;NH>eduecobce&6wDEw^u|?_2SQ*~*K+L$be(@9>|=;nsEV6C@(8h(=4XR zsVO{HhR1(>vVWvES+<22VwQ9bmnmg!B7BP3dp_&>dayr&8jb#Yiqy8UOZG1YIgduK z_!<7Zlm|0hz!Z0W5_2!?bIX0a7!YE(Q!x1bKEH#!0Rec>AmG(_Dj)k?%i3 zfD)JMz7!8K8yYZ)-SiUqNQhEwC`OrBuh=M~&%Hqyw_sV>JLOH*w>IA(EZQ2!QOTkk zGf9zc-egrJfS|Oh-q+`bS_M-O0Z0~DNEV|c|KHaeVGJ57h@9e{<579g4)SEgo*bnN ziwr1g_x8!Eu9FXDZ~eh;+&jvoIRQ*{D8g#*y(@J7RR5x0$BC~Zu4fr>jT&+7xgPwx zukBgAJ??AU6QaX78CWB(&Mw3yqEauC;UcPw3Zk;%t9#CCl--AJ`+FR835tpo<>uex z)Su79w~5}W{*}**7<~1F7Di84ebM6y^09+%y?|Dk@$a(OhBjrU+P?PHf*1D-zbPS4 z7xG0-UT7W>&@0ONU3{N>pw9G@AShVU#q^pN7z3aBP)wsS zeHme0F}7*fJLdf_&#aSb%;5r37j2}WN<6Y6xTqf zkX5~=-6P3c(!fe$wM}Ay0H7yqq2|HWoJ+H*$*kveZB2tvcrF^#=9Bs3CRi=_n)4vC zMnqkr6D*N_MnqMf+fR=W$r5PB__aqRWv;RxM;W*#*1CmGk?dj@OC1M%6TQ9iU}zOH zx9ylt=$e@WaS%?&Hkin?cY(&yZ|BWm2)RVG$HH)VeA%^;TH>1KLcjEn^0T`0w;qV+AiSv_563t`)Rs5)nQ5sUi2p7}S`=6g5M) z`WWf69HMxTO!C)dCu1%XjkCVOigawn3ANMgH}H=Q2~(bsc2XKP`eKF+M>pv))kk0C z64UsN2E=Yn`09sx2_hYN+mfJhKModsb7m6saV5*QT~GT)8qVILbDlyHw89D z2`nDHC~w&5Xujz@w&gdo7cBi{Sq%Ucu6IZ^UaTbMgebn0*O3Oh7Waa7^EIS~7z}O9 z9y6xf^)=G@+lEBr08pWtp0Z~`Wox(-%Cy9OIwb_ibOgv?oREtI_R)VRR^NMSVj`;j zi<1h4WMn2m? z)z{5b!dGaWVPekS9(sGBdc!I`Fs?gly=e=9^yV*H21Z6ACPsETu6L*U-;T9<W&trp2c?o#oEgy~^@O_9Z8+*^mLi&|ZDxw(#zwxgiDn9|v6w0B z4#8axM&rD2)$E)-cMovXmAx(vLje3OW-rd*7WTL7*D6w~^|A;YY<&`37<|qrXfXip4Qx|3M?%O!|{H!b#1<0jUU@vrE$rAr?&~_+(H-;sHVk)TWIU z^K8dAxYEd`$FM20T|sS6Fb<~&nO5*S=wgk6$ad1hJ|{Nq5v=hs@f|b)L)7eeg>1Ns zJ+n7HYK_nO%IFl#N_{G*5P{exWIIsTFVGKXTHmLKxpMwi+#t@!V8 zGq@v@mi@O25mt9HajUhyTI-LYcw7^G!XHi9BP_i<`nW&p*(02dJUZi#F1ANqd-SkB zdX_yx$)eQ9{Lw}Bh&=|6KI)H-+M`J<#MeZtdgNra#@FBxkPjeG`bJt8b9=QLX6`UW zDi;Z#>$v=JE$?(UwQen7P>u%*UI(efLrF-2z6w3v%davctmq1SDovOqVM>#2y5q6t%~B_oOAE ze5YED^C|!Jp$6ZL`j9nR>7YAX^L+KIWNMqY2Tu}xkMN4~!}e{IZ$>v$V|+8BVws9_ zqc}uuoEtg1@~JhZbxJDd8>ApTLG4B`oW zGKg(``Z#B3+s{`gkLjsn>a?CZre3M9j;UAZt7GbC`Re(g`P_s`ey3P6o1zk2@ib+( z%N9;W%E_fzP(3+;YYe0EO8aX{7oJuxY?;9WmxRQ>0cqAgH5QOzWY489%bshVSR-6{ zV&4-$S~8GGFlaVNX&>3UMcjC1WzK?J^&w|18!>|bU#(if7LTU2$=M;>KX$t)DPmP~ z=99$ zW3|uo(noumQQrdC-I(1=%$h8V^4ng1Rm2F-HfnQuKmAdgD;vs@kHW$yelJBVodpr) zvIieUIDTWc9F!B3s`yNQVh=kys z;vjrVLLS{98PvdZvH|xPgEAQu-h>UssipKG3vNyNP={&fOf}L(Q;6h@iha0wpX&Jj zgJ%lg=Ao*$yz)%7>}qq3u0QZhwaonEXNAzgvQpS`m|!cm*ld*Osc5IE0yMh!S*A4$ z+S!1n#?nUAY_&&5VjTpD5D9us@SWLO*a{=8%cq;+>GZ(UKil^Jsz-f^@zO|iy}%IPIwp)kg9kEMxONW;YPD{v^_F9)*0^}JvuR&?b*9;|A7mR9yxmC!h=y1 z9dZwK6Oc>K6KWGU5*SwJTUM&d z97A4dW0x<3{XcF=g9-BTJX%If?pVSk|J;tYD}b&NoCRH4AFv1T2acwl;pwdzsbrQQ zbAz<9%-h^wm&z*1Jp(Kk9*`(Ojy+Pbouw*$)O@Qhl4R+z{nkPAAIg9!FiM$!Nna5> zPHa|IFX;grrZKdAxbd}Si@{Pu%rSqkYW|(AZCBKRRLSY&_yCZYK?i_*b{$A67?4*x zkS9(J0{MM)AXPR1c|y=>!$ffl3$CCoIMQ~GK4CWkucB^YOU$DV_JB>*H>fuafURKN z0l0s>4mULn?wcL%4J%y3?oZSKSK$EoEl&=(?OYu27aBISmLMWz{$yP?kAWF{1C`uf zp8!?Hmw*-h^CGvB^fCM9m8q9anOmet1W=;_Dl@1{(-|zXNVb799Ja-H=ILMCkiea0 zASMz9NM#;&7Pu#_k4~l87xApd1PfFdn5cW%p%`gPK#x<$W@-UBE%eE592mh3sP_-x zK*hscElRQnathe+sOVkM@Ra0KZJ%-;Lg}o+x3*6iYUXLKI@+!6E;Rqpm>y}TwJc1p~h#lWPG-| z3!hmS>C-1L+ZXNHjPupExLn~3F6d&=*%2`I=m5r4n$1T{yi2)e1&j?jGc;#HmYd?Y zhg*RV*!OeJP%NzZ)NdRgY*3I=Q*ny7MAVqi$oMYoGn0jV>2yMTk5)P?K8^7aSvTEN zGP8?iJdyi_vRIB_eP8};6UNS#IOkc65rw#t&7^c@6yhqWQ;cuE$i@=qkGV9?7tCI7 z&XwS9yLZ6vKoyr(z-H2_DDTFfAhD7GOz&9-ns!}mx{7o!DEL=x zu*^OtS>$`n!`d?P-VwN{%DS>(T^R+6#a@Hzo5dFt-*}bP{oLKk^jxC%m|#6_u;M}- z(0d;a6E>8_*|lQCK*%#&V7P)+RWQCKQ=gMxHO|6zOl^8o8;fk;i>V1ek(hSa&4OuL zE^M}B_t(|RG5=_vV7H`oGqx&V7nNtVWw_j=!!q2*^)^`DuzP$1I@nCb)GbnAC&UN3 zv>B2oy#~LE2Qt`aX8X~FJ4-d|f^4N0f$+6@7Y^vDwp`Kzm%>09caC&H6>#w7Xcvx* zcj4|4nE1xJaKySW0uZ&yrGyppfnMBDc=AHxIS=q|Ae2xUF<1UWSL1?W}rCP5=i%hp}flJo`cftk}&N!y8OFj`i zNFXW_b=#nlMQ)nj68+zDbBWMr=;l>Z*XuL0vD83ER*v-9gdCN~Jp#uFgB>>=i?c8#x(@t&tSVhZ zm`kQgUK7jj+|aULg*EHG>KI$KORGY z6yp+Y3)Zr+cYwuP2u$IxXnfOZMIo_pCUZ%s!@Ou;ihatqH!6zDm^q89kkDo6!59&Y zkRWBv+#dqg<`WT_CTk1HAb)@S#4u_RyZaaBUgu5(f(x-6Xm4*aXc^%X10E?5o37rf z6dj{O06r5WOJ7N`_>qAG>T{pG5i%<|^FDyl9~#?7V+(+cqcMkP zP=en>4JGtkY+O^H5CCCDZ89)-MubuFFLApbQ; zmsYUR+i2sIiSv$5YWO;>63oN^;kAcom&T-O@w6pAU{BbgCBhU^2#@-5!^I!p=8saB z?dBVb4wP1{%n-++^U4s%=|rRi_6%_f5%vsmJ`1SBIw0^L2ExUbJcI?KkT?z^Iij@L zjEAj2Wa0=&rNvqf$TFc+l^Lt6%vit}2}XHPJB-SVH43A|MUQk^D#ICk@Fgb+!|Oyb zyGxLrswJ{J9d9THcY-0j*Ce?GIQeW8%qh&aE>Db z$R}eCL#K>`5My}I7f}x9%RmxqVor$_DQzk2$_#v6@p~i4w&&f`;R&9IFU%HEBDnyy zbXh`(t%oN>BFa`KL`drqiBU`dy31KB^*sGvlfLFY1~vE)p1>!9YdOJ5?k_`dJRZY3 zPvkWp7-3^MMyPm=a$sPV#w0^I?y_$pQFvwy|C*(HSVF;QxcNmpryFUi?a(425k!ot z2>tuk)tAu4f^!N@#=VPM+VUPps%G(Ho9z>X>ELh=vk(s>U_gF6@yoa(rg|PY-FaM! zAtzV~I(%YVNHB(YuhP6KB^GY(e9)BfaljBC)g8YJ`dowgXCL3IQxUi)*rEKyqDx;rU1!M;V8J)Nw-5=xC zNG!hvZrLX*LC9=2{0xk#X!%(vi_Oi-+o zjvuxzo4>A2d_M+wwI2hF;);r7u@(H#x0hWKg%f^lFi2NEj!koVuHm$u z);gU)FFL45({_Etw4^;^)CA*ba!60* zD)GwT!8Uq=6U`1yf}ia~Y}$DP9pcdB$133fWiYp_PPAv=!SOn;u{!O|BmrF)E>pb| z$8+#&qxvg*c*M2k%&g;WEaR%U3Uh_{LQ>_5-P^G@Dn;T}mQ)#6lv!;ztGO}b7-Z3g zV;KjfoBkcdaf8Bp#6$X+4Ylsw%ok9{EI&-lP4q(R(^Vp*8?rxOj*^S157u;y7wA!z znqr<)E<>fn{(NemoqOb)ff^n1t?n-ej!$H*Gz@e|^?RYPg(kfcHiT?j>gtS7Z+;h` z()=DZFUw%P`FNyxaf#99wO%nEE;UX_eN@2MYAhxomqCWfGDn)laSK6d^(0fU@~|-g z`-gZD@!1>Fgsv)+U(Myy=mRbo%jZn!jIwtjfyK2t=JFM?=KX2xHImlO(wK>JR+W;; z3}-drUvBTpxXb8WqDjq>FJ8Cuk0}X@))1V;$rl@!e8J3iFeqnpH~XlStZklp-Kr=T zRY+(FrK;RED50Gw`y{AfnrJcgJj-hc)&C^kZ3j=Krt#3%%NsAhED~Zo(yFPj!?fSH zY@Yw{dK3;Yq~CQ5NI=#GwLy!3*L292n!X(Do+8k`1$tZ7ydkhry!MB7BJ*D;k&S3tIE4<7`9upb3Q3eENyGlLn#Ba+%XfeK=8Q?pLK;1sBg9*c4u+ft$G#SuuJFg{6*o>< z#8abKsjgH;*+%iiIh9Dr>+JX3C|uK25foTZ)^j7uvQ4ABkmG+EpuYdwR{#`s6sx%V z>aBJM5qG$I)jI^R%wAAfH~Wm8C@_hp05&>(o;S6!Uul!DS) zh#x;Xld;`w=TZW~EXD|(zmZ-^;g;B~w4-a$EZcraN=s~OFvT$`a9|nCS~8RscfMvm zE1rNNq6M9urcxETo+5-975A!$bQNXKEQ_F?FqcJO7o=AXR+ne4L=NgUK1GPM#K>0b z#1%l@;h+)})nCOMIPNuGxPsV|aE(Ho4bM{HBf7N&^h!UedSG2$=EJcLRUcOUs(;9O zd_;3ubqG=6n#-!1<^tt`{VP%X__;=EW;dQp55Eq{({Wa!D1-BWCh_n%=$pqc5ce|t*kWw>_9QpZ= z?YJc-e@dn=*bpA8)?&7lnb4am-Cb+v^i-6_*yY;|tn*0=i){HRy{DZ4J(d9*gK8q8 z2ej-<7>%6b5#j3EtfKFWICk+70EWpmOGGkE%OR4-!paFqb5ZsgjqD=bsZ6&oa7=311SVg=YuImTa^*`i zxf;x+$+d>hun%I`GHdF?VCw~f*|4QXPKGhBVN2HNK*`q%N*Jex3yk0i=<{S`4P+?A??`W7lIPWcHl%=Ey<%Y^~q3Luex^ zvq`oB3gvDt-e|c1EK1T3FJ<%B}E+^ueeA5D%MGNzQSB*i$2bAKKb~$*oj_IxxqvDga<$C3A_Hq(UTdUbBLDzdm z^zqoPv%?OPSKNDZFP;?B7d^zAqGX5AAx78$kz8EsKQD5v>_X|6!Uv#jLwWLJWleYR zFK3hIb0%D4hg5cL1hTEd0#d4cOgff}K_c|76qvwoJB!k~?a?+KY?~`S@dv+~6-gGv zIjd4bjy;q7WARECS&+s@oANhhvh-Vm1s|(Q;8K~R?&GvX|>DMoIn~jU)A!u z-=~&FsKr)ZR6}v8l(oDdNzp~VlTAjOMQQ<-4URspSsWFAj_H}>xq+&T-lLx+EM>?< zRAuuH(x9FFfYrj*_)0ZLw;(XAXrfX8q%3YOmIX3)A(?Q*#eYXNX|H9Y>uoNY8U&~sTr%IZd@0;w3wfeDPv#O!}J8OAYa zZELZFwrO@_X5_F7W3UQo82<8!DTtq>E3oZwt6kD%+s^)F35sg>~55b%3c zz9M+|he+W{oUUr5&{97UP<8Zb#k3sKTFW49X=O}Ll-yw(kBl^IZz~`TbZQRsv(1pk zEPm@45`?tcEFK~)AmQz2iUc}chuadLj!g(rJMamSBcjP&kq zB;6`cn`|!P@dI?>;=(?Lg;9ODoZ4Z6H;PN}Z)wGFr$+JL6!v5*<);&uZdwkk%SN7e z77SvGn&R`~XQC?OZC>DS>jl1G1)!W}G0h1|;(%UCX+_u!trCEVXL!VH3~!Oqp7g~b zo)z*AF|HaDk9*Y=@mSb4R~{cLZsakuY%rlR(|a*7uHAu#iZKx)jRx_Jtcq9d&L?iX zQ9Ai53a~ywNzT1g-6yLJI4QjKi?7( zVKHL8f-Rv<5&w1C?I@D7Rm5s8jiZPZ{QjSwwOHRlSV)DP8k0nPe0XD=Je(OJVuSM< z6ky#`&m=NW$9!fp*;lp_Fz1XZS^2wE3}=Jru!cZB&s^$D-`O z%rG$O({}r&*e!pMGiiGr3G>MhgLRkad#170Ec(zrTvIcg*zO87J|}CDhfS z^iZ*}Na#?ya)(C1)a3n)fvL&4qz{^#oF-$@uT=zW)gfD5s6z=FA--weA>E*|aN{ch zl&e*YwR+Ad-jscBZSQGOx+7NxCa8l66Q&ZsatulIBi@CtksSv&9KtVgl4NZ}33aRA zegzZtOz-?LOj^U)caV`|==-{%?*$Z3b~tTM8tRxwNFIv=4nb%#q@(waVZj$yB0zV2 zxJXV4fX`s}q*)i=ig3Zo4$k=9KaJddqr78l2MCKad-qK5mmL<(f`Q(X#S74E^}sxs z&Z6*N9LHS65l}@Q{r8J2e|ewe2BoXAn^!LTkCaVSbyfIRS1znL+)aS;i2n&K4(5OM z+Qg~C#Cx>J&gRC3LHHkiL~A|>nW5Ii;QxrSLp8#=H_8sr^lI-R9p1mF&UAg3Bsf~J z{{0+=60%@Q7NJx!X3S_w z2HiOB#qk8mIFlVTflD~{irWQ=uS2{aBpzB@fq>JM%)w_bJ>*RkfE;wr)y@`r8}p4Z0x16ZSBEy>?xRQ zv>FX?N|6pQ@k0VYHVo3@m*k|E7Uz*9yVx*EzKa^SYoL3-EAlw}M0lfMsO%b@YAqDzR5H5kh%CF!IGO#4CeYPS7!a*;Oo zQ>M3sza%I-sN8r`R>0J5C^Yt_Urg5BlxUlDz8NNg)_L7L(XPt#`I)>pc@7l$zrK14 z39GQ)h}AwzKh!CkPl6RD`w8q=jzrO5!^P=!IxvQuVw%9(9Gm~keHj*CIj35AC8O5P z4L0Kwz7pKtK_5^}V`BnF&cIb|~d!WmqOH)=O$Ut(1n`CMv zC$BWRUF8^d=@QKMr@SGyVFqjQR1)d(dnz^5lE)B*c4)Tet zLe_meLXHVo2GAs*muJ9ZhRt|r-m0CY;A2W>Z!pP7G{h(!t>^!ap4}i12Q`n#b z>MboeP2x$OD0A9rHMRcYRCuzKdMaeu$BWxAohQXDVTd3e?nvBd<97=mm$gBQ`Zl%@ zNfB9b4>ryN9}47D+|7Gh(u+H}TrUkscf9E} zS<%kELkw6sgZN}Nc`z|-KWH}!ClpX3K+FS{%8ylLKjm)&W&=|Z+tMW0&H}T^k{HQR zk5qK<8d8n%i&kw1T~Mbo<5}LilG<<}D^CB#?@Ivg2dp%EsDemc0O(VyK_vU;JB{py zAWNWGZ?Z2|^opGmqQIHpD#gTE1<bU5(45di5y%^57OWA7@mBQ}H=gW5o9EhrIjL{q zgd7Y3B}-WiE}1CwIGkhDmRQ4wX|Ek}2`>eTGlen_+FkS>=ix3u~be3=YMXX!^` zo;LDo<1_DKFq2^$@KG_aVdu~}6B6KBLcFB7l!>F>ftLmt+AFfMfz#9=@jYBbomS0{ zfHbSO4*g!Z=|gw?KAw^fgB$xwwg2EP_>VM(aF2CUDaF z90x8<26gmPDIZ;s9#Nt|Q(*X*(~*p60+bQ2+JWvQl+^9R z$dSc{vA0E#`gR<@ig<`B^`$I!QV^Y_&;b>i9xdbv_KL&6_vMPI)IL6?k5BRO5q(@E zB3jTZeRyKI50xsw%3it*F=`kp9wc5nq*j$?yVpI>Q148&m;8)L za;?FgLJ}q{7BGVoa0{+-^jFDcE!I#bq)7N?pBWF0owNFYSxRG+F%9Fjws}prK$143 z_2GByGEEBRK$a}t=$u=<;ZYEH93F?Ql=h*K+i3lQ2UEy&>;XJt}0LWq(&y}j!8rH`)LGkLclmmu_1 zDV$aP+lKXTtLne-(bZ4y=8?3T&gv;Dj|5ez^1RG9?a_RK;^~?X`%%kjKFX=SQcX8J znwlJav%~JqR^8j|-2+}3b03CiVr;xbzNXMlG_sl7$o@B7RW@a4GbkW>upiwBp(&*w zoO=jU_Vtqauuw97#w+q6!l)bp-3yWhHgLoVg5){IB=qn(GBXRiMmtJ;KoM5bUB%vI zUrj^&Q@o*%Mw9bnr8lx=!bj`+)65Ow5?cw4WuMk$U`{x@bUP>glj?FhE%h@d0O9~X z)RUJBpXsbd_=hwY{#D1~?EaEW$6j&XxeHco0X=!AXKyo#$T+kGh-Uid0#TNq%R(ph zH2_aTq8G=EJS{84w4_Ro;{~N#y+Et>D6ofWA!PF&1?FUO5Rz0ZU5vFCf}Frp6bf9e zL}XI2R1Hf_lyhwS95=x6bLi%H1b^N7uv`&z126Io^FgiQgzT6c^-gD?@+bK6N_Th1 z#aqy)!P`+S>gbqd!>1bSBLgmOaeW>mg>9Y1@w3ePYL-rsbUdE|;OSCX(ly^o6;K0@ zX>~z5)18pWG?tkDw40!`(%8>@G#Z5Z46N*UIm|eT04WC^C|iM;OmdWjCTe0E=p5MbksW_TCKNpmDXt1q zuAk}scsG=?hi){Ao6xD&+uy9~~o8wQMrh8}FDMio!o-$6~o`G_317ibZrXVMnoy^=lOYl`|&ET@HyQpeRmn(%ojbs#j;IgUjr#wFcsCbq2A{t72W$yKRFAEG(H!|925 zSW_CLHc0Q$B8-RPA;P^Y6iJRHs2rMdb`%^a$Y5qqrQ*BIBmvjt0QcLO2$qB@&JO4j zVF53Fqb}ts7!!!cC3dDmqL)$;dN%Do6kUF!et)8)a3cmXPC&i?F~iaT_uQj$Xq#@w z^2bjbfQ?)44?EzHDahp;yIf-E;C!t=oifbo^1rsVOTs8z65T8-KZ4>2QRyN-+?a7} zbB`^I!t{vFC(?std?;-q>O8LBFlwD5fTaOO7vxeQ(iY##eu3RKQHC=SctiFr)18l_ zJ4+~{9dY7|;SU!#muf61%-V!~&)mgqS`BxBQ&_MyQu=`GCEMW^rO+PV&V7sF1+i9!hq(Ztf^z_YM+>&uL3zG6-M8e z`jG_&F}E1Drgo{Cy?=<^pOiQrcA%j?fb8If#t)(qO-iRGHTy}rgHYh4h+o1(IysQs zY;dR=gm)D(gZZE*O&vf48VqCjyxVv(Dkx-#nu-R?5;(_8l}fd5k%%6dBRQUnOmKO= zp$X^&HAa9c3?h+Z`SC2@p;}Tivz&z!gREJEcVb7-h(T{tAMN}d^QtH}U+5atq)Pjg zr*SDbqg_6;0Fka{m6At^Dz=nQbiCian@z&$`<5xIGJd> z1z(MK$G+w0Sf|zqFDH4!V~(0Do(2Khliy-r;(=(_P9o-uZyx;J%=6Z(sbr`5T9812 zf)ldQ+m~BKy4&X5btU&u@Uq6Gm7G7<8!%kho#u*ujzhl1lfW3{b0FOHeiGo^CuL8# z)KoN;*;Z`0oj@)2eZ&D%Xqb+weWH0Z6I)j`w#L_GpXwz$z-nVlvc)D;5<(oVs9^{De7i_#`f9vc+0+%1b8O+tXThCXUBos!tPxv zGf5dx;J$0cHveFP{T3_COpA<@=XiVP3_PSCw)Ya2=-J1nM{BSGvk(olrB?rxx$>0M zE)5Nj2Am^m0GI;=g!PPQdo?Y#QIG|zoWAQV857*G6CBBnIkG8X^7-j(z702bZIUd* zT^SDM&ZnoT*LI6OJjA=PC2-1k5veGt$jrMSWI(ZLENNN#ziP`0ViD)b_D+_DX=x0( zfUej&(!`k5I^GB`@S*H)+Ds>iVLRA$0oV`eEkHTXFBBQ^yUlMm%Ugw~Jtn{0cX^7X z8<*)gg(8^#KmuH1aLZpDPD1+dG-{zFKH_i0^Q^jn|t$`|*6I7xAn6Ypa7QT5u zrZUaI!hUAiFOx)719FP_FDP{`_>EcoLnE1Xmq%txHEKDNr88(;O?NeI5Y#U>)i#{= ziC6hNG5WnjqT`)&cX9u6JM{B62kf6Z%6!`*b@p7ce+?W%s)4&KF7iCF(>{S-JwPzY zoUYS8mAy!cXN%K55ihe;>zL066yzvRlN_{;^uk^uDTYkrN_3Vmta3M2z+_}c3o0g? zajKp5*=2|m>zs%ara=6NI;z-R+;Yv!jwPCD^;0}?zq@G)HlPy%r)6Iw)Ynh?yi&jc z7l-&c+#-(w5?j% zELOmc#|ay$Ted>jrRWt*3oB{}X6e{njkpC3Qi#>#*w*hzgYub?w07KwF8r0-)CXsJ zH^=Tbf>@V>tz|@rvc(wc#4Lde%4DEYF4tA5X>dieDW?=b#={eWJv8^wwsq_yt5@Y` z!L_CdeNk__%zp*C=(iM8$$KHS_uD8>ey_3AD?V59Jg!;j8N2peL-uAs#37sNn$!{t z+`+jd{%oG(hYIT?giH>pM6@ytm&BR@rfk%Z{t}3YgT z%nK+1mAz*Q(ZVUOb9_s3t(}B*h*vbITx$TCNC$2KM8s(!BqQl|-V-b3D^B$0>cy43 zz+lP0T0^my20&Y)UpIPUouV89rf9Rbs?!+L>jdw$L8|f9BFfxXVXj&xp{?wigXt>j zL=Bj{&vQf%uaMQ1l^%USAp&X@7w)8HxQj^T@h{9Gb-W>+MO-HEAo!e#|5@HJeYA4S zzSCe z$L5)rM{+Q*6_ac*(qP5BdasUM(_A$ggz0j&)b|-@QF49B^icAQ74*XPey)feCcH8!%YkSOQt|mybym*gslj5zp>Hly)Q`;+?CM;on0reNC_!P zhGJp=@0&RQVv35R)eXQ=Otxe6(#ti_T71Sks|V>0)4mh6r+L@1a>zj`GOePU{VCT9 ztZu2LoUDf(i#GjN(R!(H*EDuqhFwt>8516?KQDXct1s(b7G+1)idsq1gE$-L>90-E z-GXrMj%-s%J+7!SWhl)UD5cD+g}gYUx8u%c>kX>_>vT` z{LnkPP>!c?4L``K%{(1#RA=XW85`*b)qn!q2O^8|D_8L)>55B5!um>Ox62-2L;u|% zQE3>7Ivk>3P?pU{I~a{>Fd)4~H5llEHW(xZu@sc}jCM5`S`-aZNP=3k;^XmrJFl?e+dKET9&A<<308 zC9zllZN;58@6Vto*xDf3AcX6Ib%`-9=I2p?LHT-J-jNa5VoMbmXg2Muk+`hEw9d5H z>MnvTm@)HEu4V#Y8vz}1ZZSszp&Q4bs&>r2^)k}#q@bbq-ZN& za#saQFi2o2HUUawgGkh(;0@VRI9wKPs1sks6*5K?3fTa@y?piJYL;soS5YYL)mL{iC5}oCVQ3YiFpK1Ke=adFY*B&d+-xb8|%|0wjd%#&c&FJVz@ zG6f%+7FQfY*~nfG$J-h|$9!h#yNVW@N+)8m{mrzx%|zxiDpN3QVxKljg6ptJQml(X z2Fog8x-N6->B%-<=xPRKzeg|GXE&`c?tQCE@~Bu|(fdfi&X_P?vfu|G7n!t^NO=|5 z@Wb>a*@xIGD9ON|XCFpC);VaG`V=M4wfuq7>|#@9HwzGikZQyCA4z)=!2|SIMng;t z1>cG@C~{f~ujM;$VBO;-diGJ2b>)#`iLoWx!R|@`MlRqF4~z^2GX1b4A-8K5#)Gc4 zFn}9(v=2Mzh?gic94|d7j}DkXj$j~|qzuWVptFX&7+k_NOw%{>L8G{zr{VG;9K3IT zn#gx(_}DzJZN%`zwy^|DnCzvC z7A-ScsaYJrKUVexwL$ydkE$=MfB-=Hw{5>mUt;6H2H~WDWXq9%PeN@UH&UE0GY$jG z-edzR2jd6XxDiXUXV7J+S{?7uzA&=%8y#vTs+AVS zw89i9;*P6R4s8AbuRH~^#?!39Gjc|oP+ogp@0nKrW2!%~-%X*Poe zU%Z`+eOQG9!6s^i-svM3tRA_rjWrtM?G0`P*oBJI2B-B|(H>H?wE3z5qXkE^(SlMb zvKI#_%oFE?@=djP7_$zaWq(;Zo&lj^57^6HWUI8cS@g<2T0(wA<7ZlM_+Sq^b%w?p z#K&PVJ^~t<3(p8s0{c;5RJ?F z7s1yg*5EG6;qAR2*`m*G<5!)YhvIm1AwfV0$_Hr&X~J%VhkQY2wqYA*Z)1ly+sZ6q zEthL(Qlj4!fC!d+UHbMj`e;@Q2R_n91Kxc1a$ai57*}oyu2G`e@TgFS%jWf8ZlhP+ z%YDGb!7}tAm6vPz^!DN9ZE5wCa0d!#{ENlm<$ct!_aBC%#*%zs>>=skWfr&W7CFAD?jPjFv+8@$3wpAjuew1<(tIECq@#XL=!r}Agb*fYxl8SLaD z#$r)srg>`M8kT@FxnE~o-cm8g4Fkns@*O|gvZUvT9VaDd9T+>G}^RKgy2^QwTw(0^svx5fukKfb|$aF#zdSj8z(jww@7;zL=R7xEycF!@Hz8e$Y3_PPb+X;98X0T_)DgciM_zs3fnQP z81;0;)uTS8^?ozPd=Wc2ctI|D9nWTQG8L%dh6TRFF$mXEAL7%Gm}cDo#@Zx@X-s7A zfRKWaTTD&JLEY*qo2vB5j8yz?Hxc(C7ACUf@^ZV6;e|B7cG?Jk?F@OO$+)uqlS3q( z^cJ=gYXceMUnvnstsJFiXwczo0R)=DVjyrN;ncEk|G8i`#Dnsx@TFMPY<^==GX*0k z5l8}U0_%h)=v?{%4IiNyW2F-7rZJ68pNhbtThffD7aNCPzO;>~DF`dpB<_s=FtYFs z?RZ*-Sa&|r`li9iqOG=U4BACoUOYU;`vM3Pm=xn(?Emtuwr0xPI3mzNICd-hcsW;v zL&kzf_j0v0MuW0P+H2N+cQ^Z#J)bGjtt_;|HoyQ;+RU~NtwH4z<_zPW!sa6sW&doW zv$5QHhV}+{TN@>Bf;5ObxXesvt`eJ%80+IO~@&5MJi)$OseDEFo8O-KaLbDh_an*A_t0%a%n3O z0Wo6Wk*x%u8<69)uyI%Ib1`<+OvZX76ZAd8AVcAcuNo!3z8aioZ*iYWc z4#I%Q0&NSA3baXq=9W_j3`>b1A&oco1nq#pU9fb$WYCpoX6~=^uAY))8$Q!y=?V|R z56Rn53wF4icu*Y^VuW4s1~8#y52lujh?aIpn=$DUT%^K97H~lgnoldVy@cFAFqH-@ z0f}-gCuf8ufi36vV4W+OIEV;aMs9ZrhyuI{QDX8nL_Hjpt$}Vw2o~ZL!OHEU8b}zU z2sYEyu%0l(fGuxg`?4Kk;*O%hS{(^t%y%hX#aCJLs<7EHr155$83MU!g0EH1Cz0Fo zq(%+a^stUPgsb38O?wYjV3(4|P=HOVOTh+dYRqZ14h);gDh^|iW!GWoqTe{VYBw(4 zd9~;-e5dLmImfQDgz(DgkJ(HGhrpbj=%lHnogOXTVK~!)U#-~yjfz`MHMQYN(hAq` zO(2hcvL<|zm7m~9CJ%gl!{oNGvd4iW*`oF3BtIy0+WckFEz_$R zF~a!*&#G+q=4v;(|Bkv7nYv~Bwd=yBu8jGx#ye;)VGV+U_RW8roO4sNGzxbx3gafF zB#j*{9&;=ph}#(%LM}))=~xpUP_?v7X4@P&G9*E?p@XcD+em*6>fS=PJp5se2KIcJ z6q-3d+wwJ%9Op1}J9g&CJ`zZjmhw$-5=$0S-0>$^%I}O-vy`4^;nyN90hM6KV3iWF zmdA?V7kU?}!q#{nwj$_e6^`m+*i9L$Sk(46s=bZk^7|-9>{b6f{an-Epr0%IPon64 zc-};D9P50s-RvzB#p{0WmaKSU_PzLWH`MzPJ64M^DaB6_6KE~zbJ81OP|!cKd_N}FdZB;CKY4pgbPuZ;=~2z%fHjPjifh?4@?!5>N=!?r4*!HZp_XHdThr^K zcvT#qzbZbT|8%MUxZ)onK|^yOQA$(;n%`p`$bh~57>W`Wj#ch3KHP$UNxd!mfbpS@ zBnGJz`(21Ygel=47Z7~0jT4Ex*j`;M#8Z>Gjose%^QNY98_j*~SLGY2aDQ84{;FFp zi}Z@2<$!xD1$3udec&Wos0Cx-_f(6fnmP;74HbTNlQwP-8+ur5cC&YKl#Mkz#o;hhc* zE(!Y8+C4T62S(qYGzoxSuzRYLKOyHEvrNITsUnw*aaU*H_Ho8w7-w$~QbZVW_8uLS zM>ve3_ldnCM?#PR34LTOST9yne*u~$oX((vwLRoI9;6%!LFX1&jP3&SlC&#-F7d*t z0~e%6@dvp$$y+|HjQ+B6MzqhIYcW&_zWS;%Zex7*so zqQztO%%3RYisQhlCmRldAmBP@OY~NS7v|@v-M8YPv_}3blx510-7Wi(bi#9F>m{G0 zPao@!&}S!9jbLy_dJm!wh=)^e1j&R|p!S2PrSB)FdN6}FepAoGefvCJWnu;DZN&)^ zH~}x<3CSd97c)cRE6D2QqiAz>KeGky0nKxWnnCHz@isBX`ztYY2bqp6eimok)xFjH zXY~67wyCpjx0`XW@%d7Z`cKHuKh(#mO9&!oj?LHosb=~9q+n#klJ^u-vM@;+4&oA} zFzOmg``9R$Eo)>N6@A+R4SCWPe|U?{{M*VE7R0l^D;tI8qA|GJxssuRNr~|5_NT%m zZRHc1aGaWml0>yqx2A#;6L0WmOc*9!c9c+f>F+F*@X40quH{$6pV8%4>?V|0C#k|0 zG~xNa&1z7Ktid#Wj`s}kkOLE2qKAk!G~k)aW|5f0|J)QT78^vTcg<5IJc5*_fnccS zYSAQ}dqyjhb4}f*Htv$ajOuOW=Ss0|3Mn*95a9J3&u$$4^6c{;UCCa&p1)^X(SF3vmQ5Jzw5T&6qZJ-1Mgyg1=wsy5O zl*c<^u(&?aF;{cCmq8{FE#pad2NTXfY#c->LYcmOs5Sg{zFoPgw`%w`IuT!;2EZvl zKUMw6tzrha}O0G&`vc*tOpa=Kc!4KfzZ)0}kbLX$JML^3xS z#mFFH6cgv?N)pFL)LIAxY8I)mVsbHFQA#=5%Tvn42&GJpQVPJfsQh86WeVb8Z6)#` zg^3?>svHHXsbUg6O%C9)g^*JOa?xd(G7;x%I6@8y0vB|FA+s#}@#FToT_CEc zng5wKYf)E|BFZJ}b%r5Du(*%rWd$4fEq9kZWTSp!$wRyVT4N6}f7zLxN>{2akgfzt zVmo^i3|pCOn7(&WFTxuJG+ZJ6B#KQuBM!6I6EAN2gqfW3R+nl+u?9ve_x$2ODw%`A zx8YFs0k$wKAD3x-#SweOzBQC}ARSQJQgcmZAGC6JldX$7!PQ5VK^S$1T>~;bpsi@% zU@bEdx^;9Z`Dkz0yfyvwc)$oVUr%DGH*SX2ZN*t5MV>@?&W^ zn%vfaCZ)Erpxp~zjU34QH{W1I+m_1-AA??Jn+R9et~J8GWdt*9vy!D$4;i`P5VIQ* z_v3Uhqb4N@*`uyQB(H1p-1sETv1aUJN<;TROd{z5)NqwzUa7lI$kzm&+E8_ZBr)$U z7bI3YWwO3V;A2Jt;bhSFV6k{iWWh->&0>*VHBn?Z;r0RCZO&F(v&mv(Kq@gYG!#|1 z1xTL|F~_h?+c}i;9K0L!%J>UolVWW~o(@?;GL{-HB~KdE!pA!q0M<=s5A2Lp9u@_2 z*FQZTvJH zjcZNF01gSYqy!7D384x)Y7QTuRzRM^2U<^@Y`W^tT>dz7*%uNv5peKe4E$VI-`>@G zmIyqRY-|TFA;`ac++%7$_=rrK`b{lIjzG;?M(@)v)9|o;aXANC%G>6C&Jz_>=(`K2aWZz`|OPea3S0 zWC^R^6a408C4?Z3>Sn@X_XA6mjk7xe9xV#xf?Io)-9_;&(VY`oeE{p>35luV2n$KD zW}kvPy*Xg3#e);sAM?f5_?|B2Cwp`^tPQZ4>k<+R)I3uTW^t6ebILpMk%cx>ozJAT zepbIs*kkAhfRB0Exzqu%VNx*-Pkakm5md%KQ- zgZc#n2l%zcJ0nAl@o0@GcNhXR2DfooJ#u8?stvx%(y)-$N3ZsFEN3>_|IWdrt)jJS z3O(JaHpBogN)C6KYOL6)LqEb!H9fdK+~p|4vMbO-55m@vR%DQUG-Q`z_T}1-A;Y&H zGP%3~2NMim8$*0pQyH>wr~pfQq}l2Lxx-;vcLp<3!RBr4l9^i-2sM>LE!b!^hp%zOt|Q#W);c>&)DhEw;} zxYbE+Z2F$U?S%qbnA4iLreFZg4AxCL7%BUE?7D7p=9L^;on5qxgTqVk1Vgn7AfwSQ z4#>QcQ9adaSmadA6J!DQeL#uxdtJN}=0 z7fiQSCXTr!y4$8;mzZGDB4-|8_-L`Q0Y;Dk*h@A-%v5`1LI&&2C{E_(Y-MDt3&mb_ z%QY~kvR4zeUSR{qK*k}Bz?Hq4C4v!tn499kBu9Eq0Or97*n!fSiJ#Rf;bR4fEc>RZ zJw>ECHg#64&k2p8)X*JGl)sMH+EybGm&#y7u$+ax%E&bH8Z{!kE1C)RT-HYyQY?&zJUvv>{mp*6c>tkaU*c8S&1>~Zc&MF?` z|5_wFxs(yF^RvL^o!+Afvf;PKayukM-Fl#rG zGWu$8ImcAQ#V>gD)%}qUsNnudenZg0& z;q0N8ALwXuR&S()NO>uaedd))S^Q#6(CV!;fC8PN_~w^i;cwZ3sNR;`x!CtT;*#{O z(CKJmi7({9%!~WJPI_~_727Z09?)A@elZY4#wiWGWFnWkw*b5T!uRa}#uuACu>4M{ zj+C0>^?%}Ris4Dqpkf9J%?X3^hVn#pDlxqnRap(V ziYJW(TaoQ59)~+g`?(-J*6DB1*isCtJS{AvOxFkm5hs0HqOMe!O9J_iE^Qj7G_FJ$ zV|0;r;#ju5xPUH*zz|)CJVX~@^wHA=V*u=s@(5l0iMs+ld#W=zUBliu1%w_R3|_85=d4 zU{s?8iezTv-iE51Z}=64N_K5+!Ghi5gc+%ZhO|Wh_9d2{^&g|OTSmMx!yevH!bZ|c zJIRkfCb(@RU=V%L!&gssb$sbXw70~@ z3*ZfSe4(H##~Vr?epg68em3XdmJH=sU;kU^6yfwZrW}_Id>fqkz`p3;Pi4nM5?BWQi*~TAB@3k#oRGE~w-JCI3Ms zCCtUutYlT@n93ZZ%(qk~r3@2qPm%pLel|oQ-1ezAd9ojQRqrcrlByExcjtn1F&=Cz zRRo;%g#Ht%dB1fM7qWb#^aHwiAckS`#r~M_GVGnCpgyQ|mvxMFm*1n{mU6WY2SFmX zTkm)Fo8<~MAPo&^3<1@b6&?&@%X~SGmg-C4VTkMSCF`C##lqVVL#CKRJ5tOgbQ#*k zn7AE&PsWgsJj&=8BniQY|CtL~N4txnL_H9m<_U%6(q}4u`U-Q5-Tko=T$)JGviU+1 z%4p0pjG>R9E%OfqJRcWUG$clYf%@*(3GjeMq_bW_bNnlBn@%xr*NkNLHo}d_GOC!E zrCmg1hA)fFa#+M$wDcf}Mm$JD#cg!#AEkNZTdX#AlBKGHc5MgNd^ryhxTFB1h*YqN zxkZuN=87rHkh5|DqO%d=kWRT>YuVU6d#3G2Fn1O0H;}PYqrnn`Hmvicv@(xi_Hxl8 zWJS-l6QSuD$D?a>b76@%ipiY05BB7(L)ipU$|M*aR zP$4uRRT(!G`tx)RgHZB(eqcb?XfzcOYg6S}8fKjYM^iYh@{k;8pYT{gfCc4_O%X)6 zRHYXRv5v$Ltl80s+~9TZ@=CAghd|%o;0JDV9Y1PBlKa=WhC;8+wU?w&%Vu^Of>vC< z(J>MtSm#zAk1GUSs#cLZP`$+@vn9-cv*h6j*!}HzY8aDcd?hJ5RUDR5Cc(!cfm$3^ z^4u~GE6MI|mbpTSveFnORUB3moTi#>{M6&H?78d`Z3&VP>jhPM92QGxTX9+h%t#y- zzAMmU8Nh7n4N8mp)%c>1g&~yOK{z*Q2sRXRTED=KpMG z<)!v$2UvbtmN&5s&H{3&zVvoHIE!NOz{a->&MJqu_Q9F=7@Ls?XElvyfJ{v#PpG?1 z+E}yq&%I>TXmD1JGE)o9f;MQd3e8FtlgNWIG>iKXnx!xc!q()IBcC{8vJ@wBIkzSu zCgBFiH<*pPV@UP4ece3WK&%DhKG~4-Ceul2wxCl&5LuoDUZ>BcWl34m3O1pHXocA* zMlaGXYYWd=2XbY5#q9DYfHCSq$ayWAL7dm}Ty(P#Z{@u$XFvV42rju3rhAxD7Qw}e zhIK6AF^Q)5h$mY;bnB)7A`PrLME6S z0GAWSK#45llCId$NUW=%sTAB&MJ<+Q^lNL?8dLxnTLhKcn7KZ~dVWCP1Z?2fPYB+}j9C^cWhju&oLi z>XgMl1rKkq;bE*x(E%GpJ6i@FL~h}s5YQ1Kw^nFgn$I|zsW%`BU=+wT61gQ`#$^#D z$dS8-C>kx{1{VSp*$Jw6j+79t0I$N8M-1jF)pnG#HtP$fz8XuQiq5}T)+3!DvB#b20&`If-nGFxB4f~7eUcq z_M#*;_2gZsUhrW!-=7d2tJI@%Rny9uXiE?vEGflj9`#Pdp5>QME#YhMxHnm_5GOm3 z3hrtt1{E^jNAe{y_76+9KdPrE zt{`ev*+wf@KD2dc&BXpcK|hK)#;^|ALHO@pDX+!<% zNtu%V-cJ(Db>P$Zf{>E_(h9>vv;nAvs-$di3h48MN1@Iv50jY^lvsS+M~0ZQ@lk)H zY+j2>=mKn&?$}(C`;{m_(@ZDPbXkHjmB>jK#KO+!+VD^_lboh(DVm7Cde(HSu^p&Y zHR*E%0>kZ*Ehe+6-g*w+z&@$od_0_@4`8T3S9Vj*lA8nI#e3Fe?#Af08s0Ub_c zH^V1LmK>nbe1bR#YY-ZwwFw(&T2fiG7J^I&9b{5yQOIO^%g+`$QXmmnLt`t^(^~+lFibCKsB9Fs*!8K zGISyj<%&N))Fzu(Ljke}n2F*6#yJMe9(V@?hhfFgF`F<4Amm8LXR~fd)o8o8*PJAE zD5NKv5{rYl2}~hVI;Sd8kRNv{=MuCN3R_F%9|PEB=NuWv@uTNY~)Y;-#v`GRj-K zca)j3?d&sIJ}haPeNcgVgM+FBW&u=7+ivI;>fD zr;yt$TWl$KS&~E;Yo#pK#C(;?runoi^{J9a&VxVIuupho4yOgCN4b$OB$=anrW$p` zum}xfRrb4qLe341~=MJd*CE|SfI=1#rkQS+(| zWAP@DW~M2uZiQBJ5UFjMTAV#M)&g8=H!=6UBSq5kEYJtY;fgNjOy^Ahm2;Ek{q&kR zNgHdMt#)UkH#s$(tzOlIW z4rC`;3r#*jcCSYEyR7A)mUZ|Kac2xp1Yi*bFct98>BpuP_9L{LNaJL!1eW68fR>$o zX*6-nRXiJLhIPPbmaD^5#h>Fn0{nn6nOwm;(dz{odV6R0V@ zj%ujkT55ozn2FHMMa1*k)9d-cu=Y}ZSdQ#*rZ6E0?QlZl0DO!rk(a!$RXA2Vo^v|& z%<%^}i&mPU=Y*$nUE)Vbv$|B#+tuuZ9b?VA6A?=!wu7Wu;_|PZe)hnaWBBjtmsF_@ z+iqfK2KB0$NZ#3jf!W_A#reC7HS&*3><~78{OtsuCk|*w;ue4Z1AJY2*}o5%hmDto zwJ{bGJ^Vk*BguHzDo?&Yzbel%a5i}vD{_A3W6?qI=hi{ovuqC{kPV-=#5ru&S8`^d zgaHZxg2V>sPt`W84-31|C5O(=L330xBbNi6C%>AB9L~8A=IsyzJ~7IKK;04#1_BxR zhG~L!UR7!*ms_Qq%1Xr@9b7fw`!7a z5-CihbC4yZSP*)G_ybW%&O>Is=bK9gu!=$Ok{s+Tbx6!=+U9EuOM_{Z=Nt@S;9N%DKL4$LG49ZRAY#FkXDaFP` z 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

*B8ajiOxtUNW z5e?KJ1|vZ=`zk|X6OV}*;c_6DD>@zWntXB^L!U?Z((W&$G(iFcw82v&8M}pMnE5?V zZ0z@xhfUy>HC;`b$dtz z)Sn1&;C(dT94LLTBfaS6^rDw>HSJ#I%-|{wwKEm@6yJc4C-_wvKl)Pfa0_nOJHd?; zPh15_WiVKhe6B8g5S*y?N2?j5&p`^wQR$R-$1z0+3UaE-zcc5mkR?qc#>JBasqum@ z^~rcR@4OpN4+FViMewB(DzAw_9Z=DD!$LAzk*9|UVfj-XjwD|?o*spza(&%yb^ZUG+afGC0x0r3Zcli5kEg>vc>BoUqZ z0HTJqQy(C-Q@;{`ko%+sCjuFGt+JZ~=45yzcU1wNl!=_dQvjqMIw72N14xx3AjKDE zfRuaY>wrWc!5Toyyzp0@ofrPY0Fq{z+|!lQM^#*b7Pu^wg6YbR7g2myM|>@n(4zA{ zrcfX=VI>{usNBPN8wGqV@Oz-b^|$2Xrw`(Wt6v!)jmV^#_?9OpTqiG*r5Zz3V(B(| z$%lAJo%E0D#sRv*?7WFDQ_3g2Fvw&OQx*r@Yfpn%E@p z*8;$4?__jzcBl`ke&Is;Pj7_4soqKmo1h$~v(qC_vHa60YWL!7or!b zjMrUtd7W@|GFefK4lcOYMz73djdDfj+$!A!%}l5NUR@>W1Z%?Mfro|!>r-R_iL&0I zY#@X&-;Hgbtk_QSHTC>w=z*_92r)Ml6ENL&z|v{mA&w!G&Rkc=C<6C$A0xH{2`LJeImDnRuQ-;O;6IYQ%ehi-YCkt-9zoD&Dc53IZ|FnM+01jEsq2 z)ibjlU~b`Z@im(sla%ieo_N#wk}XMT>EF+iFh>V))qTdqwCE&=gxv>i_D?0!YO6n} zMjgiP5KFJCO?W?Lkje>V99WMb?B#T3_F`orx7nKs(Tl(aTlBRD5Mt*UDb0<&^k9U- za)I%@>{$=3lUaiQZsRy--I}QU?bv`9NU(MI=y$@`{W$jbniyv zY(V6$Y#?$^+L*|R(u&Ao&&h)kIscTxEMvv=u)c=$FiX50=^SByBg)B^pgh`RG@9c) z11T1mC=NL|Jz`LyFGK-aRLzsqb08y@C{_8k3?Zxz8D@$uRBW_Ka6ZbEk&T>qN2db| zJBXoj;AF>5w%d26cS6_ZRB2&uz=2ww>3euG2B}wxgFf9!iZERE)t$Vw=cc_(JWQVS zdE8H$J|^+xuW>!d_w1Wyj!9}zQk)3@+4-*xoJ47H%t@lHyNdIxuGjm?7mza-Ygi1S ztnUizP5yV5UK0vJ^(DVo53&w#6wZoZ>b7giqW9`^Of_QW^-HW(;;aoEC)9{>3?y1R zt2NinRRQgxL`Vshp{Rfh;BcS$!$g<0{&2*uewLtA(2!u!V>X$fVer{yI$M+PXg8S-V!6dRffO z+}|Q`T{#Pq33;5|Rm2T8e<+hoBwR2aL>rjVwoGvROLyT?*&8Gi#M{P8_PQ&-C=8PI z#rmnw)4{iSiqyO$lb33~L<+lr z88jfHgt5HYFpS_AU18!tX>KRscx}(N;-v%m-EAC*{}QLt!u9m`JU-Q6yiY!MB9_K? ziknQ(&S=L!FAgR*80bDQ|88r|TnVW~=LgI-PY|Fi87k9kpQsUqQ8;pUCa*S+jiQf7 z?n++Urro8z5X4BB#Rmea!bi(@AzHd9;Z2G4v)@w#4n8xrgf=p5Xr`{{1|2B?6T}XP zFhRHtZ{&Tdov(*4v6(0>UtK~1<`yM$Sag!M!-q;p4}#D4giBb6ND!rv2a|p;<{oRs zMw--w{p8;%ULWpLIv!phq9&5GjcA>qEFfrZFNvD9n3s1#7Z8eti4%E5j`(!}5+3%L zbBxKvMUL@oq~mDvF9_?vU~(GStELHsEN7Mw3?pzU?cmuhfvu&k3-S#f_CeVpi0zeS z0V&pr*Imh-tkM--9@gMgbjhxPhd<2!#|No9YL*cV z6YK(d$msu361LdJS-j+>Ad^ftLF8LZumK^*HJU1Ia&nvs(w!yIoq1r3iC?rs=CUHf zXF*oX0$Vb1u&<_x;@1p${dcuhULuU1vM)eu#We&T|Gr`Bgl&nJZpc<7F>-NWL;rH@ zf1CSXvSI)C(I1q_gtXBCL-pFVF-F0j4j=14!v%x#w+62G3;at^T9{lRx1Q!?m$8 z_O>8?@HGq0=4;Opp=yZ+;nPA0L_ZM!?pj4sDfW-w%Ij)C@nw6{Hq%NXz!TB!-eFQ` z#fFgeBba9pS`k!l9_dA91=hsTIRrk@s*x;-N5b6nYydvUKfo0IIG9+H#_GP3tZ{MD zNk&g;B!m`8S`?TN^kAyZo?AhZDjc|#RHZIk2SxfqsXK%w9Gbw#6ZKPak*fGSQAMI& z%vgGZ_(Cu|cpNqW`lRxI8MlocW4}mbGsEMJLRF?VCkPIHeHR~u1}?Q}S&>n52iszs zd9^pk6h4NIAb~k>3hq}L8Ih#V9uWzsJtC*kP%QhW{IZ&I5H5n*h#T#G=il)FwIx5B zsbSSp<-cp2B-|=DF(fuwp8a_q>wZj*SyC-|J-X-xuk9eFHSpIPkkyv+g^52OWUd3H z6WeuSVZTO$jnKftKEFPbA>}3iAKC_4wZuSy71qy%6LHp(1}%f@6LF4rB9Nr-oMr_b z`3fvWSQ@mI{tvR@!|Gx97#{M~&#Lc^ysu8W@(Y>+b37{jjJa4(<5OikJSWY=B@Fp= z!9(wDPzzP2*22N0B8cjJs{bu4wLiTN@9HJ`gIm``aDJI$kOH+q0uYzV z0xzD^Mrt4bfowf0h0~udhabg7yI~L@bvpU+*SOMSt>d|>UUP}CDmj^5mxv-4^pURQ z6kn-gA&tdw0x%-29Vp$oJ-ORIxt0vyB*2Z-5-0Um?MHyq1P@qLaP8uyOifDTpJ?%>u!)o$C17Ta+%z+DrHRl%!DZSUbK zuIfPGSbH)in_NvBGGHyc3j$Vgb;v63eMN2HWd9|j(it}y$jW_3#$BeWOP6JrVHeYxXv_WnZLmQ#g(O{kFJT&Z* z$WhxxE-!Hc5V~^MHpAz-0A#CK1RkRVdxa_IM&Azs+afAYgg7P82ZobLh1-)iSSmbescv*bsqU0`YO1KAdjB1<{~hjM z+pzy#?mySie=znx<^C6K*#A!VC;q7L{-N0aUiZIn!~XA~zr`gR4%xD-_>?)lG%(pr z;1#lp1fG#A-a5gq^jrUq;oyqoO)BvMIaRS7D6@sbpBsgvNj?=J46?tNqWGQ5Rl%at z-@WD4N!p#W5xRD#$3JzPPLd<}~`m$*MlP=0jFF3mviwSA=uLoDZ(1G7QxPx>L~@nA=t95Q?|tWmSTZ zEl3LZBdMh;y-P6lWVYH6r2>#}VQDLdD2ZpXra=Dr6i{Z;oIM#2d0}}mjOcBK3hm4GwrfD@SluIC zEjzrdD}DM+>6PK!NP|SS`p*W0vWCO%p>*n^9~JLT^rQAlU%?0fLobpLiLp29wQDZy>aP5>&Pc{d@2;Re zs290O6DaSlvN%_a%S@W4g*JrhR5zbav~D6_G)?OlqGbYQKt!04a>6Ps>JEj-{#|z` zAE*~1ixZj|mW?%_3|QJ^0n(&d+0(5!NV7Jz{Tl*ig#OmL#OuH{*JmL-ICJ8I%+eL# zUzP}HD@MqZ8m<5`wq2GNKtw4;O(AEv@Dy@}ZX?dT)-3b>qFLsz+A1&f+93cr zxsr8W^8_?i{ZKD(O<&JPWJ?Guex!r5wLSoA>|)6f5A3!udW8Gv@p z<;C6JEd#C5Cg^z5Lvx_DndAQw&~6+du;FxC0 z*)+=aU4sPSjgl~8BMT2s5n6rIXcrzjaLVepAAt0MZyqYW+v4Y;(!2D@^OJnqHz*>8 z=n#uc5un8eRDQNe&I^WBCGKVSdF7%lV|k~54eu0$$J6C+i@K73(0kb6Alv#47JGsz zy8!h;7XHq+pw=Uq+!7^W(b>3LVlvj>BnC?;jtjWe7I$2c4WU#>Six}jF8ISnT>fv& zKlGX$dRW>c@Oa9N6wcQ+u7bx?4yEdk2C&3?1a__J*!YwmQXXeIX80`kj~d&rU;vz; zvat<%#%la?_COY1r7)l5kG5r|%O8!?2nwm(b;aL`fT$Kd$@}b9k$+9^l}S+HrZS+8 z?9dr1-Y5BE`2j;j*_eV#{g9j(+8u4P#?C?-+addCbvz91&Xi-je7x$9#0DPSf2m4B zaqx!}`~(HzJu9F;dV5`ul?sd0B&kd$ogQhZej%2d3Qv*?6ypbG- z)I;X1Ofsh^5RK3po~gQX@f5waQ~B0Df6dkwf8$1orrAGOpZ#)i_H2Z4YfIC|9`Pek zI>C!EkMlQ&46HlG8i9U97q#HZ4Iz1wS^`&A#%T~GMean`%|Rkpwg((w00>%mz(rWc z21HkYL_X#6P2cdwTavUQU$}!;I73KicYag1ZU~uDTO6I~Th+Fkwl9KEWVZ#Y#hhB; ziA`tJLRaI#Vp@3C|C9D(Q_uSI)O%yk`bJ9$488g{qL@L_Wl4F8f*xywS}m;J^F{Ps zuUGS8>%ADZ;P=}s)GO9C6nsdC#C_5vL^20af!`sSEZ7B}D|*9I(T%336uKZ9K=39J z(ly6`v*^(PN1*aq@p8nMVo=vRHxBBWHNDlC09=Drfl);h3B~BZlf_>aFDw3r&l9}X zGj<^|Bh6f5Zls}Nfzr}_otDPY-xT>4Dc7EeBc>GjRuGH+wh+jT9ubuV`mSSwEOi?H zbM?A#t_#HNtx{FT@=m~yRgV8nIW3@FI!EVv3Hnot8`0w_Q*=&ojso8~>7Fv_pN1)= zGc>?2iWK!5kkEtW84-PY9w@z&Z)x{osNC@3mj-$}Z!K$fNZX*Z1?)n(H;eSFNYR?w zQGUHwiw^>#z&5Y|0x*+5wNPSV@j9l=+_=TVXMLT{dcg~^Y+zELsomC( z6UX89tT2vT`r+W?IOfx^^*D|~UUgh-qOXgIvRz-iy~(W9rwJ=XYcVVB;dMa(?TyXm z#c|#2)OHvc&7f7fSagy8#D0nfAsM2b*3q*niYf zvga%X&*pV--7qn6T@cV?v1*Zd0b*fda|+5)^hDGpG%?1|yd;n#C<|7F!`wBscG$39 zsBP1*W37hGJl(aTr~5g$NH_qywk_HqU6R6q(1GIqY|n%1t40Mm+-7E!3os3Yy)Rr@ z3hh#Tz24+5MY6dIml3&(F4IDB)?z|?`;6e8@poNx)%be|X_R#rNvGg2(hkFO!A1NO z$z9e19ai-meweCnKxpPD!x-|^u)FMLwfe)AYc(8%SsGp|!i;IFiS$~>(lH3dLv&6i zzH;AENA;OJjzlP3y^ADiwv^io*ize10y092Ld#$~r3uk9-4W<*EM=GjrTYdAm;8)o z&pXGGwrecQy}u*}R2OiLfcL{}1n`C7`wNomm@p9gEG>+XRB3YQf+}@_038)S7DeBg z{GGQBX{V$5EaNEzB30_RuvO}bs4DN^e|*u{du1$9@fUNYrFMRFM%78OyzW*uwmZ{tQ}zd`D$rhkW8vCVB-12O^&N#3EAPI22wwntjS++gz7 ze5Z7I5tMR!1N&J`h-#E3hPFz$Zhfw7n-aM47+TG_=z3D0EakY2tcgsQwle9saNAgoCVup$rT0}X*&1N zxgEqh+#+Y|3~!9Ku|ioVZ&+NjI4n2Ev5O%)qx$r4Kv`sk9hbN-2MgOLeh_p&3#fxc z`-`asf@roa?q%i_w)5_c6LaldcQy5C0_t-PL@~$^K#6-#2(d;5xFF=KIsY2Ub%4zp zEf$yRb-FWKj;tI^cImf4j{jMVn*E=SnzhzyM}yHlJxe!K=mI$$`@sjqDYpG8c4a2*qr{o8q`yNngeVFL{{ft|@;o8Z_Wz_daz zDP+YWyN{KcLv0Y8c3;x=ls4d7##&v*8SDg+o?4(+^!TOim9YZV`SLw`fZ*(GH7M#Gfs$0`8K*#U2PIdV4N^i%Mv3 zWT{LkASn+_dU-TdDqlgE1o@1HN-phb-X>8;v6Z5svN^&Mlf0BFbZ*c6V0m?@5Mc?T z9B3*X2KW~2{QHiCFg)#?r0u@i?L{NzJK8Fg{bibz@l`I!0Ofn9_S`tyL%Ozn@u4s; zM^8xzb0Ed4NE(1HA;2PQh$QmL8jgBc`2JcKg?&c|I97vdt%pL0a(eWnmqVt~xsQ;c z*^zvd7#3ih8o*b$q!GMR)qmIyB7OI_T`n4X72o-wl}g~U0~WUF^1S9QqQ5WHRFob} zbevn0t(#tjIJ3X)I=)d#S5%hX_#y$Q!V6vb7UmFIslyHF>sG<~OH`?d9xrb0p*H_R z1xlH$>fI(E>60x(8MR}q)K#Ni&QIgmV#tK2byBR!#|-(QC%xuI{-HQ-t(v@FVGd)I zUF&!$0?6mMnNv`Y!s%(%jwEyW{-l@6

6jv%o5C<|Fw}3tB3>7~_royC|&QOGWh^ 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

>-7HMqID9k7pD=% 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�MtD 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�#B7h&U+*z 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

<%B5$j+pKw=;8BpDi=AVC;puqoW$Df>|qhxA>K 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

etnpcAI|raYZ8^WJh2$Lf=V73wnvT!XmK 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 z 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Ó{ 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

&8pDib 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%0D8? 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

p@v<$+4I~mH9VW)1sAKMHb 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 z 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�C>56$%SX*d>|2s!A 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 z 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�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≤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


T4BLwI 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
tnzv}#>XJ)aw`tq1eTT~~zv9ZPuD<5l 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 M*bZq#q!Anc0qu-ZCjbBd -- 2.54.0 From 281d4c0ff6f95de0090f3621b4bdb651cd3d0330 Mon Sep 17 00:00:00 2001 From: The Potato Chronicler <45178972+ThePotatoChronicler@users.noreply.github.com> Date: Sun, 19 Feb 2023 13:12:09 +0100 Subject: [PATCH 34/36] Fix grammatical error in doc comment --- lib/std/packed_int_array.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/std/packed_int_array.zig b/lib/std/packed_int_array.zig index f15ddbe9740322caf830f0778ac78ff7eeea1d6d..6ef7ebeaf49da2878d8f2f1011af57ba2c7ca46b 100644 --- a/lib/std/packed_int_array.zig +++ b/lib/std/packed_int_array.zig @@ -1,4 +1,4 @@ -//! An set of array and slice types that bit-pack integer elements. A normal [12]u3 +//! A set of array and slice types that bit-pack integer elements. A normal [12]u3 //! takes up 12 bytes of memory since u3's alignment is 1. PackedArray(u3, 12) only //! takes up 4 bytes of memory. -- 2.54.0 From 346ec15c5005e523c2a1d4b967ee7a4e5d1e9775 Mon Sep 17 00:00:00 2001 From: Tom Read Cutting Date: Sun, 19 Feb 2023 12:14:03 +0000 Subject: [PATCH 35/36] Correctly handle carriage return characters according to the spec (#12661) * Scan from line start when finding tag in tokenizer This resolves a crash that can occur for invalid bytes like carriage returns that are valid characters when not parsed from within literals. There are potentially other edge cases this could resolve as well, as the calling code for this function didn't account for any potential 'pending_invalid_tokens' that could be queued up by the tokenizer from within another state. * Fix carriage return crash in multiline string Follow the guidance of #38: > However CR directly before NL is interpreted as only a newline and not part of the multiline string. zig fmt will delete the CR. Zig fmt already had code for deleting carriage returns, but would still crash - now it no longer does so. Carriage returns encountered before line-feeds are now appropriately removed on program compilation as well. * Only accept carriage returns before line feeds Previous commit was much less strict about this, this more closely matches the desired spec of only allow CR characters in a CRLF pair, but not otherwise. * Fix CR being rejected when used as whitespace Missed this comment from ziglang/zig-spec#83: > CR used as whitespace, whether directly preceding NL or stray, is still unambiguously whitespace. It is accepted by the grammar and replaced by the canonical whitespace by zig fmt. * Add tests for carriage return handling --- doc/langref.html.in | 3 ++- lib/std/zig/Ast.zig | 2 +- lib/std/zig/tokenizer.zig | 50 +++++++++++++++++++++++++++++++++++---- src/AstGen.zig | 6 +++-- test/compare_output.zig | 9 +++++++ test/compile_errors.zig | 10 ++++++++ 6 files changed, 71 insertions(+), 9 deletions(-) diff --git a/doc/langref.html.in b/doc/langref.html.in index a74d06ccbf145fe10cf8c95199f51373dd7b449e..8ef31558d5f395f5541809e136d515aac8d96f0b 100644 --- a/doc/langref.html.in +++ b/doc/langref.html.in @@ -11551,7 +11551,8 @@ fn readU32Be() u32 {}

Each LF may be immediately preceded by a single CR (byte value 0x0d, code point U+000d, {#syntax#}'\r'{#endsyntax#}) - to form a Windows style line ending, but this is discouraged. + to form a Windows style line ending, but this is discouraged. Note that in mulitline strings, CRLF sequences will + be encoded as LF when compiled into a zig program. A CR in any other context is not allowed.

diff --git a/lib/std/zig/Ast.zig b/lib/std/zig/Ast.zig index 94cdcff4e7d686116974145a891df31e12ddcd9c..ac52e8e942630f7eb9a1ab99ad00b819763fbd14 100644 --- a/lib/std/zig/Ast.zig +++ b/lib/std/zig/Ast.zig @@ -171,7 +171,7 @@ pub fn tokenSlice(tree: Ast, token_index: TokenIndex) []const u8 { .index = token_starts[token_index], .pending_invalid_token = null, }; - const token = tokenizer.next(); + const token = tokenizer.findTagAtCurrentIndex(token_tag); assert(token.tag == token_tag); return tree.source[token.loc.start..token.loc.end]; } diff --git a/lib/std/zig/tokenizer.zig b/lib/std/zig/tokenizer.zig index 0e0742eab35d52b7bed185327f0fc0b4e80a3518..0d6a6d4fd80780849f23b514e13ab0da16064764 100644 --- a/lib/std/zig/tokenizer.zig +++ b/lib/std/zig/tokenizer.zig @@ -406,6 +406,38 @@ pub const Tokenizer = struct { saw_at_sign, }; + /// This is a workaround to the fact that the tokenizer can queue up + /// 'pending_invalid_token's when parsing literals, which means that we need + /// to scan from the start of the current line to find a matching tag - just + /// in case it was an invalid character generated during literal + /// tokenization. Ideally this processing of this would be pushed to the AST + /// parser or another later stage, both to give more useful error messages + /// with that extra context and in order to be able to remove this + /// workaround. + pub fn findTagAtCurrentIndex(self: *Tokenizer, tag: Token.Tag) Token { + if (tag == .invalid) { + const target_index = self.index; + var starting_index = target_index; + while (starting_index > 0) { + if (self.buffer[starting_index] == '\n') { + break; + } + starting_index -= 1; + } + + self.index = starting_index; + while (self.index <= target_index or self.pending_invalid_token != null) { + const result = self.next(); + if (result.loc.start == target_index and result.tag == tag) { + return result; + } + } + unreachable; + } else { + return self.next(); + } + } + pub fn next(self: *Tokenizer) Token { if (self.pending_invalid_token) |token| { self.pending_invalid_token = null; @@ -1127,7 +1159,7 @@ pub const Tokenizer = struct { state = .start; result.loc.start = self.index + 1; }, - '\t', '\r' => state = .line_comment, + '\t' => state = .line_comment, else => { state = .line_comment; self.checkLiteralCharacter(); @@ -1141,7 +1173,7 @@ pub const Tokenizer = struct { result.tag = .doc_comment; break; }, - '\t', '\r' => { + '\t' => { state = .doc_comment; result.tag = .doc_comment; }, @@ -1163,12 +1195,12 @@ pub const Tokenizer = struct { state = .start; result.loc.start = self.index + 1; }, - '\t', '\r' => {}, + '\t' => {}, else => self.checkLiteralCharacter(), }, .doc_comment => switch (c) { 0, '\n' => break, - '\t', '\r' => {}, + '\t' => {}, else => self.checkLiteralCharacter(), }, .int => switch (c) { @@ -1239,7 +1271,15 @@ pub const Tokenizer = struct { fn getInvalidCharacterLength(self: *Tokenizer) u3 { const c0 = self.buffer[self.index]; if (std.ascii.isASCII(c0)) { - if (std.ascii.isControl(c0)) { + if (c0 == '\r') { + if (self.index + 1 < self.buffer.len and self.buffer[self.index + 1] == '\n') { + // Carriage returns are *only* allowed just before a linefeed as part of a CRLF pair, otherwise + // they constitute an illegal byte! + return 0; + } else { + return 1; + } + } else if (std.ascii.isControl(c0)) { // ascii control codes are never allowed // (note that \n was checked before we got here) return 1; diff --git a/src/AstGen.zig b/src/AstGen.zig index 40eef32d4ebb06d86b7aa4407550ed8f7c4c87f1..a7ce79511d2d3e014b38953e2c41444c2e1f7c5e 100644 --- a/src/AstGen.zig +++ b/src/AstGen.zig @@ -10491,14 +10491,16 @@ fn strLitNodeAsString(astgen: *AstGen, node: Ast.Node.Index) !IndexSlice { var tok_i = start; { const slice = tree.tokenSlice(tok_i); - const line_bytes = slice[2 .. slice.len - 1]; + const carriage_return_ending: usize = if (slice[slice.len - 2] == '\r') 2 else 1; + const line_bytes = slice[2 .. slice.len - carriage_return_ending]; try string_bytes.appendSlice(gpa, line_bytes); tok_i += 1; } // Following lines: each line prepends a newline. while (tok_i <= end) : (tok_i += 1) { const slice = tree.tokenSlice(tok_i); - const line_bytes = slice[2 .. slice.len - 1]; + const carriage_return_ending: usize = if (slice[slice.len - 2] == '\r') 2 else 1; + const line_bytes = slice[2 .. slice.len - carriage_return_ending]; try string_bytes.ensureUnusedCapacity(gpa, line_bytes.len + 1); string_bytes.appendAssumeCapacity('\n'); string_bytes.appendSliceAssumeCapacity(line_bytes); diff --git a/test/compare_output.zig b/test/compare_output.zig index b3a614472998d6cc96829fcead264a21e5d55aed..31617f64278f1387815cca3bc1cf77a8e27e9691 100644 --- a/test/compare_output.zig +++ b/test/compare_output.zig @@ -535,4 +535,13 @@ pub fn addCases(cases: *tests.CompareOutputContext) void { \\debug: free - len: 5 \\ ); + + cases.add("valid carriage return example", "const io = @import(\"std\").io;\r\n" ++ // Testing CRLF line endings are valid + "\r\n" ++ + "pub \r fn main() void {\r\n" ++ // Testing isolated carriage return as whitespace is valid + " const stdout = io.getStdOut().writer();\r\n" ++ + " stdout.print(\\\\A Multiline\r\n" ++ // testing CRLF at end of multiline string line is valid and normalises to \n in the output + " \\\\String\r\n" ++ + " , .{}) catch unreachable;\r\n" ++ + "}\r\n", "A Multiline\nString"); } diff --git a/test/compile_errors.zig b/test/compile_errors.zig index 801d0464ea94cffc49da4dcb60f3e01edbb37634..21c8822eb378432329c93d67d93b6f6f66ecd73c 100644 --- a/test/compile_errors.zig +++ b/test/compile_errors.zig @@ -174,6 +174,16 @@ pub fn addCases(ctx: *TestContext) !void { }); } + { + const case = ctx.obj("isolated carriage return in multiline string literal", .{}); + case.backend = .stage2; + + case.addError("const foo = \\\\\test\r\r rogue carriage return\n;", &[_][]const u8{ + ":1:19: error: expected ';' after declaration", + ":1:20: note: invalid byte: '\\r'", + }); + } + { const case = ctx.obj("missing semicolon at EOF", .{}); case.addError( -- 2.54.0 From 02f5d2673f1bb21e7329acdd664fed565ecd4317 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sun, 19 Feb 2023 09:40:25 -0700 Subject: [PATCH 36/36] Revert "Merge pull request #14661 from evacchi/zig-wasi-preopens" This reverts commit 772a0eb68ac95b7e24508580499b49872fdb541f, reversing changes made to 0bb178bbb2451238a326c6e916ecf38fbc34cab1. This needs a rebase against master branch - it has build-breaking merge conflicts. I also added a "changes requested" review on the original pull request. --- lib/std/Build/CompileStep.zig | 4 +- lib/std/fs/test.zig | 5 -- lib/std/fs/wasi.zig | 108 ---------------------------------- 3 files changed, 1 insertion(+), 116 deletions(-) diff --git a/lib/std/Build/CompileStep.zig b/lib/std/Build/CompileStep.zig index ce8979fec49247ce8f621d10296396108f54baf4..a916de0fc6f8b88df770b3512152cdf4ad211907 100644 --- a/lib/std/Build/CompileStep.zig +++ b/lib/std/Build/CompileStep.zig @@ -1555,9 +1555,7 @@ fn make(step: *Step) !void { try zig_args.append("--test-cmd"); try zig_args.append(bin_name); try zig_args.append("--test-cmd"); - try zig_args.append("--mapdir=/::."); - try zig_args.append("--test-cmd"); - try zig_args.append("--mapdir=/tmp::/tmp"); + try zig_args.append("--dir=."); try zig_args.append("--test-cmd-bin"); } else { try zig_args.append("--test-no-exec"); diff --git a/lib/std/fs/test.zig b/lib/std/fs/test.zig index 957fe4902f301c1912f3533cbdf140c369485399..16458d7dc4907577cbd4464467eac605f89fe963 100644 --- a/lib/std/fs/test.zig +++ b/lib/std/fs/test.zig @@ -13,11 +13,6 @@ const File = std.fs.File; const tmpDir = testing.tmpDir; const tmpIterableDir = testing.tmpIterableDir; -// ensure tests for fs/wasi.zig are run -comptime { - _ = std.fs.wasi; -} - test "Dir.readLink" { var tmp = tmpDir(.{}); defer tmp.cleanup(); diff --git a/lib/std/fs/wasi.zig b/lib/std/fs/wasi.zig index 60a5f9232faaae91de263359d50c73762d199c2c..75c9b1df78bfad1363168a7991229c0afc79fce3 100644 --- a/lib/std/fs/wasi.zig +++ b/lib/std/fs/wasi.zig @@ -9,7 +9,6 @@ const Allocator = mem.Allocator; const wasi = std.os.wasi; const fd_t = wasi.fd_t; const prestat_t = wasi.prestat_t; -const testing = std.testing; pub const Preopens = struct { // Indexed by file descriptor number. @@ -23,30 +22,6 @@ pub const Preopens = struct { } return null; } - - pub fn findDir(p: Preopens, full_path: []const u8, flags: std.fs.Dir.OpenDirOptions) std.fs.Dir.OpenError!std.fs.Dir { - if (p.names.len <= 2) - return std.fs.Dir.OpenError.BadPathName; // there are no preopens - - var prefix: []const u8 = ""; - var fd: usize = 0; - for (p.names) |preopen, i| { - if (i > 2 and wasiPathPrefixMatches(preopen, full_path)) { - if (preopen.len > prefix.len) { - prefix = preopen; - fd = i; - } - } - } - - // still no match - if (fd == 0) { - return std.fs.Dir.OpenError.FileNotFound; - } - const d = std.fs.Dir{ .fd = @intCast(os.fd_t, fd) }; - const rel = full_path[prefix.len + 1 .. full_path.len]; - return d.openDirWasi(rel, flags); - } }; pub fn preopensAlloc(gpa: Allocator) Allocator.Error!Preopens { @@ -79,86 +54,3 @@ pub fn preopensAlloc(gpa: Allocator) Allocator.Error!Preopens { names.appendAssumeCapacity(name); } } - -fn wasiPathPrefixMatches(prefix: []const u8, path: []const u8) bool { - if (path[0] != '/' and prefix.len == 0) - return true; - - if (path.len < prefix.len) - return false; - - if (prefix.len == 1) { - return prefix[0] == path[0]; - } - - if (!std.mem.eql(u8, path[0..prefix.len], prefix)) { - return false; - } - - return path.len == prefix.len or - path[prefix.len] == '/'; -} - -test "preopens" { - if (builtin.os.tag != .wasi or builtin.link_libc) return error.SkipZigTest; - - // lifted from `testing` - const random_bytes_count = 12; - const buf_size = 256; - const path = "/tmp"; - const tmp_file_name = "file.txt"; - const nonsense = "nonsense"; - - var random_bytes: [random_bytes_count]u8 = undefined; - var buf: [buf_size]u8 = undefined; - - std.crypto.random.bytes(&random_bytes); - const sub_path = std.fs.base64_encoder.encode(&buf, &random_bytes); - - // find all preopens - const allocator = std.heap.page_allocator; - var wasi_preopens = try std.fs.wasi.preopensAlloc(allocator); - - // look for the exact "/tmp" preopen match - const fd = std.fs.wasi.Preopens.find(wasi_preopens, path) orelse unreachable; - const base_dir = std.fs.Dir{ .fd = fd }; - - var tmp_path = base_dir.makeOpenPath(sub_path, .{}) catch - @panic("unable to make tmp dir for testing: /tmp/"); - - defer tmp_path.close(); - defer tmp_path.deleteTree(sub_path) catch {}; - - // create a file under /tmp//file.txt with contents "nonsense" - try tmp_path.writeFile(tmp_file_name, nonsense); - - // now look for the file as a single path - var tmp_dir_path_buf: [buf_size]u8 = undefined; - const tmp_dir_path = try std.fmt.bufPrint(&tmp_dir_path_buf, "{s}/{s}", .{ path, sub_path }); - - // find "/tmp/" using `findDir()` - const tmp_file_dir = try wasi_preopens.findDir(tmp_dir_path, .{}); - - const text = try tmp_file_dir.readFile(tmp_file_name, &buf); - - // ensure the file contents match "nonsense" - try testing.expect(std.mem.eql(u8, nonsense, text)); -} - -test "wasiPathPrefixMatches" { - try testing.expect(wasiPathPrefixMatches("/", "/foo")); - try testing.expect(wasiPathPrefixMatches("/testcases", "/testcases/test.txt")); - try testing.expect(wasiPathPrefixMatches("", "foo")); - try testing.expect(wasiPathPrefixMatches("foo", "foo")); - try testing.expect(wasiPathPrefixMatches("foo", "foo/bar")); - try testing.expect(!wasiPathPrefixMatches("bar", "foo/bar")); - try testing.expect(!wasiPathPrefixMatches("bar", "foo")); - try testing.expect(wasiPathPrefixMatches("foo", "foo/bar")); - try testing.expect(!wasiPathPrefixMatches("fooo", "foo")); - try testing.expect(!wasiPathPrefixMatches("foo", "fooo")); - try testing.expect(!wasiPathPrefixMatches("foo/bar", "foo")); - try testing.expect(!wasiPathPrefixMatches("bar/foo", "foo")); - try testing.expect(wasiPathPrefixMatches("/foo", "/foo")); - try testing.expect(wasiPathPrefixMatches("/foo", "/foo")); - try testing.expect(wasiPathPrefixMatches("/foo", "/foo/")); -} -- 2.54.0

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