authorgravatar for michael.dusan@gmail.comMichael Dusan <michael.dusan@gmail.com> 2020-04-01 11:02:38-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-04-01 18:07:45-04:00
logf6d384450fd7a9c6da236928ef84629bfbfbb781
tree3704a86e752576229a797b468504f0d4ddac5018
parent4848b28ec84edb719e780f164eac366ab2e83f22

add compile-error test: bitcast

Issue fixed by an unknown commit. closes #3818

1 files changed, 15 insertions(+), 0 deletions(-)

test/compile_errors.zig+15
......@@ -6842,4 +6842,19 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
68426842 "tmp.zig:8:23: error: use of undefined value here causes undefined behavior",
68436843 "tmp.zig:14:23: error: use of undefined value here causes undefined behavior",
68446844 });
6845
6846 cases.add("issue #3818: bitcast from parray/slice to u16",
6847 \\export fn foo1() void {
6848 \\ var bytes = [_]u8{1, 2};
6849 \\ const word: u16 = @bitCast(u16, bytes[0..]);
6850 \\}
6851 \\export fn foo2() void {
6852 \\ var bytes: []u8 = &[_]u8{1, 2};
6853 \\ const word: u16 = @bitCast(u16, bytes);
6854 \\}
6855 , &[_][]const u8{
6856 "tmp.zig:3:42: error: unable to @bitCast from pointer type '*[2]u8'",
6857 "tmp.zig:7:32: error: destination type 'u16' has size 2 but source type '[]u8' has size 16",
6858 "tmp.zig:7:37: note: referenced here",
6859 });
68456860}