diff options
Diffstat (limited to 'tests/cfail/local-token.rs')
| -rw-r--r-- | tests/cfail/local-token.rs | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/tests/cfail/local-token.rs b/tests/cfail/local-token.rs deleted file mode 100644 index 90a9560..0000000 --- a/tests/cfail/local-token.rs +++ /dev/null @@ -1,45 +0,0 @@ -#![deny(warnings)] -#![feature(const_fn)] -#![feature(proc_macro)] -#![no_std] - -#[macro_use(task)] -extern crate cortex_m_rtfm as rtfm; -extern crate stm32f103xx; - -use rtfm::{app, Threshold}; - -app! { - device: stm32f103xx, - - tasks: { - EXTI0: { - enabled: true, - priority: 1, - }, - } -} - -fn init(_p: init::Peripherals) {} - -fn idle() -> ! { - loop {} -} - -task!(EXTI0, exti0, Old { - static TOKEN: Option<Threshold> = None; -}); - -fn exti0(nt: &mut Threshold, old: &mut Old, _r: EXTI0::Resources) { - if let Some(ot) = old.TOKEN.take() { - let _: (Threshold, Threshold) = (*nt, ot); - //~^ error cannot move out of borrowed content - - return - } - - // ERROR can't store a threshold token in a local variable, otherwise you - // would end up with two threshold tokens in a task (see `if let` above) - *old.TOKEN = Some(*nt); - //~^ error cannot move out of borrowed content -} |
