aboutsummaryrefslogtreecommitdiff
path: root/cortex-m-rt/tests/compile-fail/pre-init-hidden.rs
diff options
context:
space:
mode:
authorGravatar Jorge Aparicio <jorge@japaric.io> 2018-09-06 00:25:45 +0200
committerGravatar Jorge Aparicio <jorge@japaric.io> 2018-09-06 00:25:45 +0200
commitfbd29fc7fe75ec9e906d8e961ab08cf66794d305 (patch)
treedccaf7ff25f4e3cc64ce5d63cd30a36cd59af7f3 /cortex-m-rt/tests/compile-fail/pre-init-hidden.rs
parentfc592e4960d99ca8f33c6414ca9903bf0cb6df73 (diff)
downloadcortex-m-fbd29fc7fe75ec9e906d8e961ab08cf66794d305.tar.gz
cortex-m-fbd29fc7fe75ec9e906d8e961ab08cf66794d305.tar.zst
cortex-m-fbd29fc7fe75ec9e906d8e961ab08cf66794d305.zip
add compile-fail tests; test only on nightly
we'll test on beta when 1.30-beta is out
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..f512d62
--- /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_semihosting;
+
+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 {}
+}