aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorxackus <14938807+xackus@users.noreply.github.com>2020-07-05 17:58:21 +0200
committerxackus <14938807+xackus@users.noreply.github.com>2020-07-05 17:58:21 +0200
commit51f8c306d9fa32c849b26c2d95a45901a02f448e (patch)
tree80a09b965eaa0ff2849f3eafc7405eb9af3146ff /test
parent0ae1157e4553d6f54e0d489daebb006c402e0f63 (diff)
downloadzig-51f8c306d9fa32c849b26c2d95a45901a02f448e.tar.gz
zig-51f8c306d9fa32c849b26c2d95a45901a02f448e.zip
stage1: add missing runtime safety for @intCast unsigned -> signed of same bit count
Diffstat (limited to 'test')
-rw-r--r--test/runtime_safety.zig10
1 files changed, 10 insertions, 0 deletions
diff --git a/test/runtime_safety.zig b/test/runtime_safety.zig
index e60d115a00..e27ae7e16e 100644
--- a/test/runtime_safety.zig
+++ b/test/runtime_safety.zig
@@ -757,6 +757,16 @@ pub fn addCases(cases: *tests.CompareOutputContext) void {
\\}
);
+ cases.addRuntimeSafety("unsigned integer not fitting in cast to signed integer - same bit count",
+ \\pub fn panic(message: []const u8, stack_trace: ?*@import("builtin").StackTrace) noreturn {
+ \\ @import("std").os.exit(126);
+ \\}
+ \\pub fn main() void {
+ \\ var value: u8 = 245;
+ \\ var casted = @intCast(i8, value);
+ \\}
+ );
+
cases.addRuntimeSafety("unwrap error",
\\pub fn panic(message: []const u8, stack_trace: ?*@import("builtin").StackTrace) noreturn {
\\ if (@import("std").mem.eql(u8, message, "attempt to unwrap error: Whatever")) {