| author | |
| committer | |
| log | f0530385b57218ef323747bdb7438330a07d25cc |
| tree | 07d87e78355e518aa67ea48e3cdf1a242917a5d7 |
| parent | 321ccbdc525ab0f5862e42378b962c10ec54e4a1 |
19 files changed, 46 insertions(+), 46 deletions(-)
lib/std/crypto/blake3.zig+1-1| ... | ... | @@ -211,7 +211,7 @@ fn first8Words(words: [16]u32) [8]u32 { |
| 211 | 211 | |
| 212 | 212 | fn wordsFromLittleEndianBytes(comptime count: usize, bytes: [count * 4]u8) [count]u32 { |
| 213 | 213 | var words: [count]u32 = undefined; |
| 214 | for (words) |*word, i| { | |
| 214 | for (&words) |*word, i| { | |
| 215 | 215 | word.* = mem.readIntSliceLittle(u32, bytes[4 * i ..]); |
| 216 | 216 | } |
| 217 | 217 | return words; |
test/behavior/array.zig+1-1| ... | ... | @@ -185,7 +185,7 @@ test "nested arrays of strings" { |
| 185 | 185 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 186 | 186 | |
| 187 | 187 | const array_of_strings = [_][]const u8{ "hello", "this", "is", "my", "thing" }; |
| 188 | for (array_of_strings) |s, i| { | |
| 188 | for (array_of_strings, 0..) |s, i| { | |
| 189 | 189 | if (i == 0) try expect(mem.eql(u8, s, "hello")); |
| 190 | 190 | if (i == 1) try expect(mem.eql(u8, s, "this")); |
| 191 | 191 | if (i == 2) try expect(mem.eql(u8, s, "is")); |
test/behavior/bit_shifting.zig+2-2| ... | ... | @@ -84,14 +84,14 @@ fn testShardedTable(comptime Key: type, comptime mask_bit_count: comptime_int, c |
| 84 | 84 | |
| 85 | 85 | var table = Table.create(); |
| 86 | 86 | var node_buffer: [node_count]Table.Node = undefined; |
| 87 | for (node_buffer) |*node, i| { | |
| 87 | for (&node_buffer, 0..) |*node, i| { | |
| 88 | 88 | const key = @intCast(Key, i); |
| 89 | 89 | try expect(table.get(key) == null); |
| 90 | 90 | node.init(key, {}); |
| 91 | 91 | table.put(node); |
| 92 | 92 | } |
| 93 | 93 | |
| 94 | for (node_buffer) |*node, i| { | |
| 94 | for (&node_buffer, 0..) |*node, i| { | |
| 95 | 95 | try expect(table.get(@intCast(Key, i)) == node); |
| 96 | 96 | } |
| 97 | 97 | } |
test/behavior/bugs/1607.zig+1-1| ... | ... | @@ -5,7 +5,7 @@ const builtin = @import("builtin"); |
| 5 | 5 | const a = [_]u8{ 1, 2, 3 }; |
| 6 | 6 | |
| 7 | 7 | fn checkAddress(s: []const u8) !void { |
| 8 | for (s) |*i, j| { | |
| 8 | for (s, 0..) |*i, j| { | |
| 9 | 9 | try testing.expect(i == &a[j]); |
| 10 | 10 | } |
| 11 | 11 | } |
test/behavior/bugs/920.zig+3-3| ... | ... | @@ -23,13 +23,13 @@ fn ZigTableGen(comptime is_symmetric: bool, comptime r: f64, comptime v: f64, co |
| 23 | 23 | tables.x[0] = v / f(r); |
| 24 | 24 | tables.x[1] = r; |
| 25 | 25 | |
| 26 | for (tables.x[2..256]) |*entry, i| { | |
| 26 | for (tables.x[2..256], 0..) |*entry, i| { | |
| 27 | 27 | const last = tables.x[2 + i - 1]; |
| 28 | 28 | entry.* = f_inv(v / last + f(last)); |
| 29 | 29 | } |
| 30 | 30 | tables.x[256] = 0; |
| 31 | 31 | |
| 32 | for (tables.f[0..]) |*entry, i| { | |
| 32 | for (tables.f[0..], 0..) |*entry, i| { | |
| 33 | 33 | entry.* = f(tables.x[i]); |
| 34 | 34 | } |
| 35 | 35 | |
| ... | ... | @@ -67,7 +67,7 @@ test "bug 920 fixed" { |
| 67 | 67 | break :blk ZigTableGen(true, norm_r, norm_v, norm_f, norm_f_inv, norm_zero_case); |
| 68 | 68 | }; |
| 69 | 69 | |
| 70 | for (NormalDist1.f) |_, i| { | |
| 70 | for (NormalDist1.f, 0..) |_, i| { | |
| 71 | 71 | // Here we use `expectApproxEqAbs` instead of `expectEqual` to account for the small |
| 72 | 72 | // differences in math functions of different libcs. For example, if the compiler |
| 73 | 73 | // links against glibc, but the target is musl libc, then these values might be |
test/behavior/call.zig+1-1| ... | ... | @@ -364,7 +364,7 @@ test "Enum constructed by @Type passed as generic argument" { |
| 364 | 364 | try expect(@enumToInt(a) == b); |
| 365 | 365 | } |
| 366 | 366 | }; |
| 367 | inline for (@typeInfo(S.E).Enum.fields) |_, i| { | |
| 367 | inline for (@typeInfo(S.E).Enum.fields, 0..) |_, i| { | |
| 368 | 368 | try S.foo(@intToEnum(S.E, i), i); |
| 369 | 369 | } |
| 370 | 370 | } |
test/behavior/const_slice_child.zig+2-2| ... | ... | @@ -26,7 +26,7 @@ fn foo(args: [][]const u8) !void { |
| 26 | 26 | fn bar(argc: usize) !void { |
| 27 | 27 | var args_buffer: [10][]const u8 = undefined; |
| 28 | 28 | const args = args_buffer[0..argc]; |
| 29 | for (args) |_, i| { | |
| 29 | for (args, 0..) |_, i| { | |
| 30 | 30 | const ptr = argv[i]; |
| 31 | 31 | args[i] = ptr[0..strlen(ptr)]; |
| 32 | 32 | } |
| ... | ... | @@ -41,7 +41,7 @@ fn strlen(ptr: [*]const u8) usize { |
| 41 | 41 | |
| 42 | 42 | fn streql(a: []const u8, b: []const u8) bool { |
| 43 | 43 | if (a.len != b.len) return false; |
| 44 | for (a) |item, index| { | |
| 44 | for (a, 0..) |item, index| { | |
| 45 | 45 | if (b[index] != item) return false; |
| 46 | 46 | } |
| 47 | 47 | return true; |
test/behavior/eval.zig+3-3| ... | ... | @@ -317,7 +317,7 @@ test "create global array with for loop" { |
| 317 | 317 | |
| 318 | 318 | const global_array = x: { |
| 319 | 319 | var result: [10]usize = undefined; |
| 320 | for (result) |*item, index| { | |
| 320 | for (&result, 0..) |*item, index| { | |
| 321 | 321 | item.* = index * index; |
| 322 | 322 | } |
| 323 | 323 | break :x result; |
| ... | ... | @@ -447,7 +447,7 @@ test "binary math operator in partially inlined function" { |
| 447 | 447 | var s: [4]u32 = undefined; |
| 448 | 448 | var b: [16]u8 = undefined; |
| 449 | 449 | |
| 450 | for (b) |*r, i| | |
| 450 | for (&b, 0..) |*r, i| | |
| 451 | 451 | r.* = @intCast(u8, i + 1); |
| 452 | 452 | |
| 453 | 453 | copyWithPartialInline(s[0..], b[0..]); |
| ... | ... | @@ -915,7 +915,7 @@ test "comptime pointer load through elem_ptr" { |
| 915 | 915 | |
| 916 | 916 | comptime { |
| 917 | 917 | var array: [10]S = undefined; |
| 918 | for (array) |*elem, i| { | |
| 918 | for (&array, 0..) |*elem, i| { | |
| 919 | 919 | elem.* = .{ |
| 920 | 920 | .x = i, |
| 921 | 921 | }; |
test/behavior/fn.zig+1-1| ... | ... | @@ -311,7 +311,7 @@ test "function pointers" { |
| 311 | 311 | &fn3, |
| 312 | 312 | &fn4, |
| 313 | 313 | }; |
| 314 | for (fns) |f, i| { | |
| 314 | for (fns, 0..) |f, i| { | |
| 315 | 315 | try expect(f() == @intCast(u32, i) + 5); |
| 316 | 316 | } |
| 317 | 317 | } |
test/behavior/for.zig+10-10| ... | ... | @@ -55,9 +55,9 @@ fn testContinueOuter() !void { |
| 55 | 55 | } |
| 56 | 56 | |
| 57 | 57 | test "ignore lval with underscore (for loop)" { |
| 58 | for ([_]void{}) |_, i| { | |
| 58 | for ([_]void{}, 0..) |_, i| { | |
| 59 | 59 | _ = i; |
| 60 | for ([_]void{}) |_, j| { | |
| 60 | for ([_]void{}, 0..) |_, j| { | |
| 61 | 61 | _ = j; |
| 62 | 62 | break; |
| 63 | 63 | } |
| ... | ... | @@ -81,7 +81,7 @@ test "basic for loop" { |
| 81 | 81 | buffer[buf_index] = item; |
| 82 | 82 | buf_index += 1; |
| 83 | 83 | } |
| 84 | for (array) |item, index| { | |
| 84 | for (array, 0..) |item, index| { | |
| 85 | 85 | _ = item; |
| 86 | 86 | buffer[buf_index] = @intCast(u8, index); |
| 87 | 87 | buf_index += 1; |
| ... | ... | @@ -91,7 +91,7 @@ test "basic for loop" { |
| 91 | 91 | buffer[buf_index] = item; |
| 92 | 92 | buf_index += 1; |
| 93 | 93 | } |
| 94 | for (array_ptr) |item, index| { | |
| 94 | for (array_ptr, 0..) |item, index| { | |
| 95 | 95 | _ = item; |
| 96 | 96 | buffer[buf_index] = @intCast(u8, index); |
| 97 | 97 | buf_index += 1; |
| ... | ... | @@ -101,7 +101,7 @@ test "basic for loop" { |
| 101 | 101 | buffer[buf_index] = item; |
| 102 | 102 | buf_index += 1; |
| 103 | 103 | } |
| 104 | for (unknown_size) |_, index| { | |
| 104 | for (unknown_size, 0..) |_, index| { | |
| 105 | 105 | buffer[buf_index] = @intCast(u8, index); |
| 106 | 106 | buf_index += 1; |
| 107 | 107 | } |
| ... | ... | @@ -163,11 +163,11 @@ test "for loop with pointer elem var" { |
| 163 | 163 | mangleString(target[0..]); |
| 164 | 164 | try expect(mem.eql(u8, &target, "bcdefgh")); |
| 165 | 165 | |
| 166 | for (source) |*c, i| { | |
| 166 | for (source, 0..) |*c, i| { | |
| 167 | 167 | _ = i; |
| 168 | 168 | try expect(@TypeOf(c) == *const u8); |
| 169 | 169 | } |
| 170 | for (target) |*c, i| { | |
| 170 | for (&target, 0..) |*c, i| { | |
| 171 | 171 | _ = i; |
| 172 | 172 | try expect(@TypeOf(c) == *u8); |
| 173 | 173 | } |
| ... | ... | @@ -186,7 +186,7 @@ test "for copies its payload" { |
| 186 | 186 | const S = struct { |
| 187 | 187 | fn doTheTest() !void { |
| 188 | 188 | var x = [_]usize{ 1, 2, 3 }; |
| 189 | for (x) |value, i| { | |
| 189 | for (x, 0..) |value, i| { | |
| 190 | 190 | // Modify the original array |
| 191 | 191 | x[i] += 99; |
| 192 | 192 | try expect(value == i + 1); |
| ... | ... | @@ -206,8 +206,8 @@ test "for on slice with allowzero ptr" { |
| 206 | 206 | const S = struct { |
| 207 | 207 | fn doTheTest(slice: []const u8) !void { |
| 208 | 208 | var ptr = @ptrCast([*]allowzero const u8, slice.ptr)[0..slice.len]; |
| 209 | for (ptr) |x, i| try expect(x == i + 1); | |
| 210 | for (ptr) |*x, i| try expect(x.* == i + 1); | |
| 209 | for (ptr, 0..) |x, i| try expect(x == i + 1); | |
| 210 | for (ptr, 0..) |*x, i| try expect(x.* == i + 1); | |
| 211 | 211 | } |
| 212 | 212 | }; |
| 213 | 213 | try S.doTheTest(&[_]u8{ 1, 2, 3, 4 }); |
test/behavior/generics.zig+1-1| ... | ... | @@ -325,7 +325,7 @@ test "generic function instantiation non-duplicates" { |
| 325 | 325 | const S = struct { |
| 326 | 326 | fn copy(comptime T: type, dest: []T, source: []const T) void { |
| 327 | 327 | @export(foo, .{ .name = "test_generic_instantiation_non_dupe" }); |
| 328 | for (source) |s, i| dest[i] = s; | |
| 328 | for (source, 0..) |s, i| dest[i] = s; | |
| 329 | 329 | } |
| 330 | 330 | |
| 331 | 331 | fn foo() callconv(.C) void {} |
test/behavior/lower_strlit_to_vector.zig+1-1| ... | ... | @@ -12,7 +12,7 @@ test "strlit to vector" { |
| 12 | 12 | const strlit = "0123456789abcdef0123456789ABCDEF"; |
| 13 | 13 | const vec_from_strlit: @Vector(32, u8) = strlit.*; |
| 14 | 14 | const arr_from_vec = @as([32]u8, vec_from_strlit); |
| 15 | for (strlit) |c, i| | |
| 15 | for (strlit, 0..) |c, i| | |
| 16 | 16 | try std.testing.expect(c == arr_from_vec[i]); |
| 17 | 17 | try std.testing.expectEqualSlices(u8, strlit, &arr_from_vec); |
| 18 | 18 | } |
test/behavior/math.zig+1-1| ... | ... | @@ -1221,7 +1221,7 @@ test "quad hex float literal parsing accurate" { |
| 1221 | 1221 | 0xb6a0000000000000, |
| 1222 | 1222 | }; |
| 1223 | 1223 | |
| 1224 | for (exp2ft) |x, i| { | |
| 1224 | for (exp2ft, 0..) |x, i| { | |
| 1225 | 1225 | try expect(@bitCast(u64, x) == answers[i]); |
| 1226 | 1226 | } |
| 1227 | 1227 | } |
test/behavior/slice.zig+2-2| ... | ... | @@ -99,7 +99,7 @@ test "comptime slice of slice preserves comptime var" { |
| 99 | 99 | test "slice of type" { |
| 100 | 100 | comptime { |
| 101 | 101 | var types_array = [_]type{ i32, f64, type }; |
| 102 | for (types_array) |T, i| { | |
| 102 | for (types_array, 0..) |T, i| { | |
| 103 | 103 | switch (i) { |
| 104 | 104 | 0 => try expect(T == i32), |
| 105 | 105 | 1 => try expect(T == f64), |
| ... | ... | @@ -107,7 +107,7 @@ test "slice of type" { |
| 107 | 107 | else => unreachable, |
| 108 | 108 | } |
| 109 | 109 | } |
| 110 | for (types_array[0..]) |T, i| { | |
| 110 | for (types_array[0..], 0..) |T, i| { | |
| 111 | 111 | switch (i) { |
| 112 | 112 | 0 => try expect(T == i32), |
| 113 | 113 | 1 => try expect(T == f64), |
test/behavior/tuple.zig+1-1| ... | ... | @@ -40,7 +40,7 @@ test "tuple multiplication" { |
| 40 | 40 | { |
| 41 | 41 | const t = .{ 1, 2, 3 } ** 4; |
| 42 | 42 | try expect(@typeInfo(@TypeOf(t)).Struct.fields.len == 12); |
| 43 | inline for (t) |x, i| try expect(x == 1 + i % 3); | |
| 43 | inline for (t, 0..) |x, i| try expect(x == 1 + i % 3); | |
| 44 | 44 | } |
| 45 | 45 | } |
| 46 | 46 | }; |
test/behavior/vector.zig+11-11| ... | ... | @@ -456,20 +456,20 @@ test "vector division operators" { |
| 456 | 456 | fn doTheTestDiv(comptime T: type, x: @Vector(4, T), y: @Vector(4, T)) !void { |
| 457 | 457 | if (!comptime std.meta.trait.isSignedInt(T)) { |
| 458 | 458 | const d0 = x / y; |
| 459 | for (@as([4]T, d0)) |v, i| { | |
| 459 | for (@as([4]T, d0), 0..) |v, i| { | |
| 460 | 460 | try expect(x[i] / y[i] == v); |
| 461 | 461 | } |
| 462 | 462 | } |
| 463 | 463 | const d1 = @divExact(x, y); |
| 464 | for (@as([4]T, d1)) |v, i| { | |
| 464 | for (@as([4]T, d1), 0..) |v, i| { | |
| 465 | 465 | try expect(@divExact(x[i], y[i]) == v); |
| 466 | 466 | } |
| 467 | 467 | const d2 = @divFloor(x, y); |
| 468 | for (@as([4]T, d2)) |v, i| { | |
| 468 | for (@as([4]T, d2), 0..) |v, i| { | |
| 469 | 469 | try expect(@divFloor(x[i], y[i]) == v); |
| 470 | 470 | } |
| 471 | 471 | const d3 = @divTrunc(x, y); |
| 472 | for (@as([4]T, d3)) |v, i| { | |
| 472 | for (@as([4]T, d3), 0..) |v, i| { | |
| 473 | 473 | try expect(@divTrunc(x[i], y[i]) == v); |
| 474 | 474 | } |
| 475 | 475 | } |
| ... | ... | @@ -477,16 +477,16 @@ test "vector division operators" { |
| 477 | 477 | fn doTheTestMod(comptime T: type, x: @Vector(4, T), y: @Vector(4, T)) !void { |
| 478 | 478 | if ((!comptime std.meta.trait.isSignedInt(T)) and @typeInfo(T) != .Float) { |
| 479 | 479 | const r0 = x % y; |
| 480 | for (@as([4]T, r0)) |v, i| { | |
| 480 | for (@as([4]T, r0), 0..) |v, i| { | |
| 481 | 481 | try expect(x[i] % y[i] == v); |
| 482 | 482 | } |
| 483 | 483 | } |
| 484 | 484 | const r1 = @mod(x, y); |
| 485 | for (@as([4]T, r1)) |v, i| { | |
| 485 | for (@as([4]T, r1), 0..) |v, i| { | |
| 486 | 486 | try expect(@mod(x[i], y[i]) == v); |
| 487 | 487 | } |
| 488 | 488 | const r2 = @rem(x, y); |
| 489 | for (@as([4]T, r2)) |v, i| { | |
| 489 | for (@as([4]T, r2), 0..) |v, i| { | |
| 490 | 490 | try expect(@rem(x[i], y[i]) == v); |
| 491 | 491 | } |
| 492 | 492 | } |
| ... | ... | @@ -538,7 +538,7 @@ test "vector bitwise not operator" { |
| 538 | 538 | const S = struct { |
| 539 | 539 | fn doTheTestNot(comptime T: type, x: @Vector(4, T)) !void { |
| 540 | 540 | var y = ~x; |
| 541 | for (@as([4]T, y)) |v, i| { | |
| 541 | for (@as([4]T, y), 0..) |v, i| { | |
| 542 | 542 | try expect(~x[i] == v); |
| 543 | 543 | } |
| 544 | 544 | } |
| ... | ... | @@ -577,11 +577,11 @@ test "vector shift operators" { |
| 577 | 577 | var yv = @as(@Vector(N, TY), y); |
| 578 | 578 | |
| 579 | 579 | var z0 = xv >> yv; |
| 580 | for (@as([N]TX, z0)) |v, i| { | |
| 580 | for (@as([N]TX, z0), 0..) |v, i| { | |
| 581 | 581 | try expect(x[i] >> y[i] == v); |
| 582 | 582 | } |
| 583 | 583 | var z1 = xv << yv; |
| 584 | for (@as([N]TX, z1)) |v, i| { | |
| 584 | for (@as([N]TX, z1), 0..) |v, i| { | |
| 585 | 585 | try expect(x[i] << y[i] == v); |
| 586 | 586 | } |
| 587 | 587 | } |
| ... | ... | @@ -594,7 +594,7 @@ test "vector shift operators" { |
| 594 | 594 | var yv = @as(@Vector(N, TY), y); |
| 595 | 595 | |
| 596 | 596 | var z = if (dir == .Left) @shlExact(xv, yv) else @shrExact(xv, yv); |
| 597 | for (@as([N]TX, z)) |v, i| { | |
| 597 | for (@as([N]TX, z), 0..) |v, i| { | |
| 598 | 598 | const check = if (dir == .Left) x[i] << y[i] else x[i] >> y[i]; |
| 599 | 599 | try expect(check == v); |
| 600 | 600 | } |
test/behavior/void.zig+1-1| ... | ... | @@ -22,7 +22,7 @@ test "iterate over a void slice" { |
| 22 | 22 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 23 | 23 | |
| 24 | 24 | var j: usize = 0; |
| 25 | for (times(10)) |_, i| { | |
| 25 | for (times(10), 0..) |_, i| { | |
| 26 | 26 | try expect(i == j); |
| 27 | 27 | j += 1; |
| 28 | 28 | } |
test/standalone/brace_expansion/main.zig+2-2| ... | ... | @@ -29,7 +29,7 @@ fn tokenize(input: []const u8) !ArrayList(Token) { |
| 29 | 29 | var tok_begin: usize = undefined; |
| 30 | 30 | var state = State.Start; |
| 31 | 31 | |
| 32 | for (input) |b, i| { | |
| 32 | for (input, 0..) |b, i| { | |
| 33 | 33 | switch (state) { |
| 34 | 34 | .Start => switch (b) { |
| 35 | 35 | 'a'...'z', 'A'...'Z' => { |
| ... | ... | @@ -159,7 +159,7 @@ fn expandString(input: []const u8, output: *ArrayList(u8)) !void { |
| 159 | 159 | try expandNode(root, &result_list); |
| 160 | 160 | |
| 161 | 161 | try output.resize(0); |
| 162 | for (result_list.items) |buf, i| { | |
| 162 | for (result_list.items, 0..) |buf, i| { | |
| 163 | 163 | if (i != 0) { |
| 164 | 164 | try output.append(' '); |
| 165 | 165 | } |
test/tests.zig+1-1| ... | ... | @@ -958,7 +958,7 @@ pub const StackTracesContext = struct { |
| 958 | 958 | // locate delims/anchor |
| 959 | 959 | const delims = [_][]const u8{ ":", ":", ":", " in ", "(", ")" }; |
| 960 | 960 | var marks = [_]usize{0} ** delims.len; |
| 961 | for (delims) |delim, i| { | |
| 961 | for (delims, 0..) |delim, i| { | |
| 962 | 962 | marks[i] = mem.indexOfPos(u8, line, pos, delim) orelse { |
| 963 | 963 | // unexpected pattern: emit raw line and cont |
| 964 | 964 | try buf.appendSlice(line); |