summaryrefslogtreecommitdiff
path: root/tests/ui/mir
diff options
context:
space:
mode:
authorBen Kimock <kimockb@gmail.com>2023-04-13 09:20:36 -0400
committerBen Kimock <kimockb@gmail.com>2023-04-13 10:58:00 -0400
commit4061eb589797ab4498f00ba0be337e4a1355cb49 (patch)
tree89142d16bf2325bebaf858ef6161a3fa7dd51539 /tests/ui/mir
parent194a0bb5d6fbdd36e0df58b4698311bb8fed6bca (diff)
Only emit alignment checks if we have a panic_impl
Diffstat (limited to 'tests/ui/mir')
-rw-r--r--tests/ui/mir/checks_without_panic_impl.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/ui/mir/checks_without_panic_impl.rs b/tests/ui/mir/checks_without_panic_impl.rs
new file mode 100644
index 00000000000..04f410b77a3
--- /dev/null
+++ b/tests/ui/mir/checks_without_panic_impl.rs
@@ -0,0 +1,17 @@
+// Ensures that the alignment check we insert for raw pointer dereferences
+// does not prevent crates without a panic_impl from compiling.
+// See rust-lang/rust#109996
+
+// build-pass
+// compile-flags: -Cdebug-assertions=yes
+
+#![crate_type = "lib"]
+
+#![feature(lang_items)]
+#![feature(no_core)]
+#![no_core]
+
+#[lang = "sized"]
+trait Foo {}
+
+pub unsafe fn foo(x: *const i32) -> &'static i32 { unsafe { &*x } }