authorgravatar for red.black.liquorice@gmail.comHila Friedman <red.black.liquorice@gmail.com> 2026-06-29 07:09:19+03:00
committergravatar for red.black.liquorice@gmail.comHila Friedman <red.black.liquorice@gmail.com> 2026-06-29 07:09:19+03:00
logeab71c7c86d1dfc7e2016387c9edbeae5dcfcbf7
tree20c634a2ea30779679639bf537c4f33dc5efaa7d
parent4cb608e92143b00c46eb5dd479a92ab6763a6a05

don't use expectEqual


1 files changed, 21 insertions(+), 9 deletions(-)

test/behavior/overlapping_assign.zig+21-9
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1const std = @import("std");1const std = @import("std");
2const expectEqualSlices = std.testing.expectEqualSlices;2const expect = std.testing.expect;
33
4test "assignment to overlapping memory" {4test "assignment to overlapping memory" {
5 try theTest();5 try theTest();
...@@ -8,30 +8,42 @@ test "assignment to overlapping memory" {...@@ -8,30 +8,42 @@ test "assignment to overlapping memory" {
88
9fn theTest() !void {9fn theTest() !void {
10 var a1: [3]usize = .{ 0, 1, 2 };10 var a1: [3]usize = .{ 0, 1, 2 };
11 const b1: [3]usize = .{ 0, 0, 1 };
11 a1[1..3].* = a1[0..2].*;12 a1[1..3].* = a1[0..2].*;
12 try expectEqualSlices(usize, &.{ 0, 0, 1 }, &a1);13 for (a1, b1) |a, b| {
14 try expect(a == b);
15 }
1316
14 var a2: [3]usize = .{ 0, 1, 2 };17 var a2: [3]usize = .{ 0, 1, 2 };
18 const b2: [3]usize = .{ 1, 2, 2 };
15 a2[0..2].* = a2[1..3].*;19 a2[0..2].* = a2[1..3].*;
16 try expectEqualSlices(usize, &.{ 1, 2, 2 }, &a2);20 for (a2, b2) |a, b| {
21 try expect(a == b);
22 }
1723
18 var a3: [16]u8 = .{24 var a3: [16]u8 = .{
19 0, 1, 2, 3, 4, 5, 6, 7,25 0, 1, 2, 3, 4, 5, 6, 7,
20 8, 9, 10, 11, 12, 13, 14, 15,26 8, 9, 10, 11, 12, 13, 14, 15,
21 };27 };
22 a3[1..16].* = a3[0..15].*;28 const b3: [16]u8 = .{
23 try expectEqualSlices(u8, &.{
24 0, 0, 1, 2, 3, 4, 5, 6,29 0, 0, 1, 2, 3, 4, 5, 6,
25 7, 8, 9, 10, 11, 12, 13, 14,30 7, 8, 9, 10, 11, 12, 13, 14,
26 }, &a3);31 };
32 a3[1..16].* = a3[0..15].*;
33 for (a3, b3) |a, b| {
34 try expect(a == b);
35 }
2736
28 var a4: [16]u8 = .{37 var a4: [16]u8 = .{
29 0, 1, 2, 3, 4, 5, 6, 7,38 0, 1, 2, 3, 4, 5, 6, 7,
30 8, 9, 10, 11, 12, 13, 14, 15,39 8, 9, 10, 11, 12, 13, 14, 15,
31 };40 };
32 a4[0..15].* = a4[1..16].*;41 const b4: [16]u8 = .{
33 try expectEqualSlices(u8, &.{
34 1, 2, 3, 4, 5, 6, 7, 8,42 1, 2, 3, 4, 5, 6, 7, 8,
35 9, 10, 11, 12, 13, 14, 15, 15,43 9, 10, 11, 12, 13, 14, 15, 15,
36 }, &a4);44 };
45 a4[0..15].* = a4[1..16].*;
46 for (a4, b4) |a, b| {
47 try expect(a == b);
48 }
37}49}