]> git.lizzy.rs Git - rust.git/commitdiff
test unreachable intrinsic
authorRalf Jung <post@ralfj.de>
Wed, 25 Mar 2020 08:12:23 +0000 (09:12 +0100)
committerRalf Jung <post@ralfj.de>
Wed, 25 Mar 2020 08:32:15 +0000 (09:32 +0100)
src/shims/intrinsics.rs
tests/compile-fail/unreachable.rs [new file with mode: 0644]

index 9a6bd58ba42e1d9a8d3506582cfabfebfa4c5df3..91371e2c9df964fa25e0500e1e58d1432804a55c 100644 (file)
@@ -36,6 +36,7 @@ fn call_intrinsic(
         let (dest, ret) = match ret {
             None => match intrinsic_name {
                 "miri_start_panic" => return this.handle_miri_start_panic(args, unwind),
+                "unreachable" => throw_ub!(Unreachable),
                 _ => throw_unsup_format!("unimplemented (diverging) intrinsic: {}", intrinsic_name),
             },
             Some(p) => p,
diff --git a/tests/compile-fail/unreachable.rs b/tests/compile-fail/unreachable.rs
new file mode 100644 (file)
index 0000000..245ef29
--- /dev/null
@@ -0,0 +1,4 @@
+// error-pattern: entering unreachable code
+fn main() {
+    unsafe { std::hint::unreachable_unchecked() }
+}