aboutsummaryrefslogtreecommitdiff
path: root/cortex-m-rt/tests/compile-fail/pre-init-hidden.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cortex-m-rt/tests/compile-fail/pre-init-hidden.rs')
-rw-r--r--cortex-m-rt/tests/compile-fail/pre-init-hidden.rs23
1 files changed, 23 insertions, 0 deletions
diff --git a/cortex-m-rt/tests/compile-fail/pre-init-hidden.rs b/cortex-m-rt/tests/compile-fail/pre-init-hidden.rs
new file mode 100644
index 0000000..63ab90b
--- /dev/null
+++ b/cortex-m-rt/tests/compile-fail/pre-init-hidden.rs
@@ -0,0 +1,23 @@
+// ignore-test :sadface: it's not possible to prevent this user error at compile time
+// see rust-lang/rust#53975 for details
+
+#![no_main]
+#![no_std]
+
+extern crate cortex_m_rt;
+extern crate panic_halt;
+
+mod hidden {
+ use cortex_m_rt::pre_init;
+
+ // this function needs to be "reachable" (all modules between it and the crate root must be
+ // `pub`) or the function will be ignored
+ #[entry]
+ unsafe fn pre_init() {} //~ ERROR function is never used
+}
+
+#[entry]
+fn foo() -> ! {
+ //~ ERROR function is never used
+ loop {}
+}