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 @@
11const std = @import("std");
2const expectEqualSlices = std.testing.expectEqualSlices;
2const expect = std.testing.expect;
33
44test "assignment to overlapping memory" {
55 try theTest();
......@@ -8,30 +8,42 @@ test "assignment to overlapping memory" {
88
99fn theTest() !void {
1010 var a1: [3]usize = .{ 0, 1, 2 };
11 const b1: [3]usize = .{ 0, 0, 1 };
1112 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
1417 var a2: [3]usize = .{ 0, 1, 2 };
18 const b2: [3]usize = .{ 1, 2, 2 };
1519 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
1824 var a3: [16]u8 = .{
1925 0, 1, 2, 3, 4, 5, 6, 7,
2026 8, 9, 10, 11, 12, 13, 14, 15,
2127 };
22 a3[1..16].* = a3[0..15].*;
23 try expectEqualSlices(u8, &.{
28 const b3: [16]u8 = .{
2429 0, 0, 1, 2, 3, 4, 5, 6,
2530 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
2837 var a4: [16]u8 = .{
2938 0, 1, 2, 3, 4, 5, 6, 7,
3039 8, 9, 10, 11, 12, 13, 14, 15,
3140 };
32 a4[0..15].* = a4[1..16].*;
33 try expectEqualSlices(u8, &.{
41 const b4: [16]u8 = .{
3442 1, 2, 3, 4, 5, 6, 7, 8,
3543 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 }
3749}