diff options
| author | Xavier Bouchoux <xavierb@gmail.com> | 2022-06-10 22:26:19 +0000 |
|---|---|---|
| committer | Veikka Tuominen <git@vexu.eu> | 2022-06-17 19:06:17 +0300 |
| commit | b66247c97af3deaa190d1ca8297166f932b022ff (patch) | |
| tree | 570e39943cd8043e23f26114474c856e86e98aef /test/behavior/vector.zig | |
| parent | 69e2cac0d349cc32d4ead73541e18d1f72aac729 (diff) | |
| download | zig-b66247c97af3deaa190d1ca8297166f932b022ff.tar.gz zig-b66247c97af3deaa190d1ca8297166f932b022ff.zip | |
stage2: coerce tuple to vector
Diffstat (limited to 'test/behavior/vector.zig')
| -rw-r--r-- | test/behavior/vector.zig | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/test/behavior/vector.zig b/test/behavior/vector.zig index cbd8787701..fc49bce6e2 100644 --- a/test/behavior/vector.zig +++ b/test/behavior/vector.zig @@ -167,6 +167,31 @@ test "array to vector" { comptime try S.doTheTest(); } +test "tuple to vector" { + if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_c) 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 + if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO + + const S = struct { + fn doTheTest() !void { + const Vec3 = @Vector(3, i32); + var v: Vec3 = .{ 1, 0, 0 }; + for ([_]Vec3{ .{ 0, 1, 0 }, .{ 0, 0, 1 } }) |it| { + v += it; + } + + try std.testing.expectEqual(v, Vec3{ 1, 1, 1 }); + if (builtin.zig_backend != .stage1) { + try std.testing.expectEqual(v, .{ 1, 1, 1 }); + } + } + }; + try S.doTheTest(); + comptime try S.doTheTest(); +} + test "vector casts of sizes not divisible by 8" { if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO |
