aboutsummaryrefslogtreecommitdiff
path: root/test/behavior/basic.zig
diff options
context:
space:
mode:
authorVeikka Tuominen <git@vexu.eu>2022-06-05 20:08:02 +0300
committerAndrew Kelley <andrew@ziglang.org>2022-06-06 13:11:50 -0700
commit8fa88c88c28420d89392a9984748070d35f18321 (patch)
tree37957568ca213e1af27b88972efa21bd91bbfbf4 /test/behavior/basic.zig
parentcb5d2b691aadde5665cefc54542e3e0651ebc2fa (diff)
downloadzig-8fa88c88c28420d89392a9984748070d35f18321.tar.gz
zig-8fa88c88c28420d89392a9984748070d35f18321.zip
AstGen: fix coercion scope type when stores are eliminated
Diffstat (limited to 'test/behavior/basic.zig')
-rw-r--r--test/behavior/basic.zig12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/behavior/basic.zig b/test/behavior/basic.zig
index b45f5a0b49..dc0e5aaf30 100644
--- a/test/behavior/basic.zig
+++ b/test/behavior/basic.zig
@@ -1062,3 +1062,15 @@ comptime {
s = S{ .a = 1 };
assert(s.a == 1);
}
+
+test "switch inside @as gets correct type" {
+ if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
+
+ var a: u32 = 0;
+ var b: [2]u32 = undefined;
+ b[0] = @as(u32, switch (a) {
+ 1 => 1,
+ else => 0,
+ });
+}