diff options
author | 2019-04-21 20:20:33 +0200 | |
---|---|---|
committer | 2019-05-01 20:49:25 +0200 | |
commit | d538f5b17cf0ad482cd803d7fbaada3349d6485e (patch) | |
tree | 32e1b85277aac72628586da87ee7a2ef32e02df6 | |
parent | d0aaa2a805afdda30b49b3dfdb7072f302855a79 (diff) | |
download | rtic-d538f5b17cf0ad482cd803d7fbaada3349d6485e.tar.gz rtic-d538f5b17cf0ad482cd803d7fbaada3349d6485e.tar.zst rtic-d538f5b17cf0ad482cd803d7fbaada3349d6485e.zip |
test RFC 147
-rw-r--r-- | tests/cfail/unsafe-exception.rs | 18 | ||||
-rw-r--r-- | tests/cfail/unsafe-idle.rs | 20 | ||||
-rw-r--r-- | tests/cfail/unsafe-init.rs | 15 | ||||
-rw-r--r-- | tests/cfail/unsafe-interrupt.rs | 18 | ||||
-rw-r--r-- | tests/cfail/unsafe-task.rs | 22 |
5 files changed, 93 insertions, 0 deletions
diff --git a/tests/cfail/unsafe-exception.rs b/tests/cfail/unsafe-exception.rs new file mode 100644 index 00000000..353194a5 --- /dev/null +++ b/tests/cfail/unsafe-exception.rs @@ -0,0 +1,18 @@ +#![no_main] +#![no_std] + +extern crate lm3s6965; +extern crate panic_halt; +extern crate rtfm; + +use rtfm::app; + +#[app(device = lm3s6965)] +const APP: () = { + #[init] + fn init(_: init::Context) {} + + #[exception(binds = SVCall)] + unsafe fn foo(_: foo::Context) {} + //~^ ERROR this `exception` handler must have type signature `fn(foo::Context)` +}; diff --git a/tests/cfail/unsafe-idle.rs b/tests/cfail/unsafe-idle.rs new file mode 100644 index 00000000..fab1b0f1 --- /dev/null +++ b/tests/cfail/unsafe-idle.rs @@ -0,0 +1,20 @@ +#![no_main] +#![no_std] + +extern crate lm3s6965; +extern crate panic_halt; +extern crate rtfm; + +use rtfm::app; + +#[app(device = lm3s6965)] +const APP: () = { + #[init] + fn init(_: init::Context) {} + + #[idle] + unsafe fn idle(_: idle::Context) -> ! { + //~^ ERROR `idle` must have type signature `fn(idle::Context) -> !` + loop {} + } +}; diff --git a/tests/cfail/unsafe-init.rs b/tests/cfail/unsafe-init.rs new file mode 100644 index 00000000..d8bb5605 --- /dev/null +++ b/tests/cfail/unsafe-init.rs @@ -0,0 +1,15 @@ +#![no_main] +#![no_std] + +extern crate lm3s6965; +extern crate panic_halt; +extern crate rtfm; + +use rtfm::app; + +#[app(device = lm3s6965)] +const APP: () = { + #[init] + unsafe fn init(_: init::Context) {} + //~^ ERROR `init` must have type signature `fn(init::Context) [-> init::LateResources]` +}; diff --git a/tests/cfail/unsafe-interrupt.rs b/tests/cfail/unsafe-interrupt.rs new file mode 100644 index 00000000..93225edf --- /dev/null +++ b/tests/cfail/unsafe-interrupt.rs @@ -0,0 +1,18 @@ +#![no_main] +#![no_std] + +extern crate lm3s6965; +extern crate panic_halt; +extern crate rtfm; + +use rtfm::app; + +#[app(device = lm3s6965)] +const APP: () = { + #[init] + fn init(_: init::Context) {} + + #[interrupt(binds = UART0)] + unsafe fn foo(_: foo::Context) {} + //~^ ERROR this `interrupt` handler must have type signature `fn(foo::Context)` +}; diff --git a/tests/cfail/unsafe-task.rs b/tests/cfail/unsafe-task.rs new file mode 100644 index 00000000..58c4d70c --- /dev/null +++ b/tests/cfail/unsafe-task.rs @@ -0,0 +1,22 @@ +#![no_main] +#![no_std] + +extern crate lm3s6965; +extern crate panic_halt; +extern crate rtfm; + +use rtfm::app; + +#[app(device = lm3s6965)] +const APP: () = { + #[init] + fn init(_: init::Context) {} + + #[task] + unsafe fn foo(_: foo::Context) {} + //~^ ERROR this `task` handler must have type signature `fn(foo::Context, ..)` + + extern "C" { + fn UART0(); + } +}; |