diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/cfail/critical-section.rs | 1 | ||||
| -rw-r--r-- | tests/cfail/duplicated-task.rs | 1 | ||||
| -rw-r--r-- | tests/cfail/exception.rs | 1 | ||||
| -rw-r--r-- | tests/cfail/idle.rs | 1 | ||||
| -rw-r--r-- | tests/cfail/init.rs | 1 | ||||
| -rw-r--r-- | tests/cfail/interrupt.rs | 1 | ||||
| -rw-r--r-- | tests/cfail/late-resource-init.rs | 1 | ||||
| -rw-r--r-- | tests/cfail/lock.rs | 1 | ||||
| -rw-r--r-- | tests/cfail/peripheral-alias.rs | 1 | ||||
| -rw-r--r-- | tests/cfail/priority-too-high.rs | 1 | ||||
| -rw-r--r-- | tests/cfail/priority-too-low.rs | 1 | ||||
| -rw-r--r-- | tests/cfail/resource-alias.rs | 1 | ||||
| -rw-r--r-- | tests/cfail/resource-not-send.rs | 53 | ||||
| -rw-r--r-- | tests/cfail/token-outlive.rs | 1 | ||||
| -rw-r--r-- | tests/cfail/token-transfer.rs | 1 | ||||
| -rw-r--r-- | tests/cfail/wrong-threshold.rs | 1 |
16 files changed, 68 insertions, 0 deletions
diff --git a/tests/cfail/critical-section.rs b/tests/cfail/critical-section.rs index 728388e..6571978 100644 --- a/tests/cfail/critical-section.rs +++ b/tests/cfail/critical-section.rs @@ -1,3 +1,4 @@ +#![deny(unsafe_code)] #![deny(warnings)] #![feature(const_fn)] #![feature(proc_macro)] diff --git a/tests/cfail/duplicated-task.rs b/tests/cfail/duplicated-task.rs index d91f09b..82b7ac6 100644 --- a/tests/cfail/duplicated-task.rs +++ b/tests/cfail/duplicated-task.rs @@ -1,3 +1,4 @@ +#![deny(unsafe_code)] #![deny(warnings)] #![feature(proc_macro)] #![no_std] diff --git a/tests/cfail/exception.rs b/tests/cfail/exception.rs index 065ccad..e2e749a 100644 --- a/tests/cfail/exception.rs +++ b/tests/cfail/exception.rs @@ -1,3 +1,4 @@ +#![deny(unsafe_code)] #![deny(warnings)] #![feature(proc_macro)] #![no_std] diff --git a/tests/cfail/idle.rs b/tests/cfail/idle.rs index a362ec7..79fe99b 100644 --- a/tests/cfail/idle.rs +++ b/tests/cfail/idle.rs @@ -1,3 +1,4 @@ +#![deny(unsafe_code)] #![deny(warnings)] #![feature(proc_macro)] #![no_std] diff --git a/tests/cfail/init.rs b/tests/cfail/init.rs index 73643b1..d2823e3 100644 --- a/tests/cfail/init.rs +++ b/tests/cfail/init.rs @@ -1,3 +1,4 @@ +#![deny(unsafe_code)] #![deny(warnings)] #![feature(proc_macro)] #![no_std] diff --git a/tests/cfail/interrupt.rs b/tests/cfail/interrupt.rs index b913d83..e3ef2e8 100644 --- a/tests/cfail/interrupt.rs +++ b/tests/cfail/interrupt.rs @@ -1,3 +1,4 @@ +#![deny(unsafe_code)] #![deny(warnings)] #![feature(proc_macro)] #![no_std] diff --git a/tests/cfail/late-resource-init.rs b/tests/cfail/late-resource-init.rs index cb37887..a1059f3 100644 --- a/tests/cfail/late-resource-init.rs +++ b/tests/cfail/late-resource-init.rs @@ -1,3 +1,4 @@ +#![deny(unsafe_code)] #![deny(warnings)] #![feature(proc_macro)] #![no_std] diff --git a/tests/cfail/lock.rs b/tests/cfail/lock.rs index e0e37e0..5630649 100644 --- a/tests/cfail/lock.rs +++ b/tests/cfail/lock.rs @@ -1,3 +1,4 @@ +#![deny(unsafe_code)] #![deny(warnings)] #![feature(const_fn)] #![feature(proc_macro)] diff --git a/tests/cfail/peripheral-alias.rs b/tests/cfail/peripheral-alias.rs index 042666a..3528ec6 100644 --- a/tests/cfail/peripheral-alias.rs +++ b/tests/cfail/peripheral-alias.rs @@ -1,3 +1,4 @@ +#![deny(unsafe_code)] #![deny(warnings)] #![feature(proc_macro)] #![no_std] diff --git a/tests/cfail/priority-too-high.rs b/tests/cfail/priority-too-high.rs index c139471..5c35377 100644 --- a/tests/cfail/priority-too-high.rs +++ b/tests/cfail/priority-too-high.rs @@ -1,3 +1,4 @@ +#![deny(unsafe_code)] #![deny(warnings)] #![feature(proc_macro)] #![no_std] diff --git a/tests/cfail/priority-too-low.rs b/tests/cfail/priority-too-low.rs index cefd342..2be2254 100644 --- a/tests/cfail/priority-too-low.rs +++ b/tests/cfail/priority-too-low.rs @@ -1,3 +1,4 @@ +#![deny(unsafe_code)] #![deny(warnings)] #![feature(proc_macro)] #![no_std] diff --git a/tests/cfail/resource-alias.rs b/tests/cfail/resource-alias.rs index 788af6f..e1c73bb 100644 --- a/tests/cfail/resource-alias.rs +++ b/tests/cfail/resource-alias.rs @@ -1,3 +1,4 @@ +#![deny(unsafe_code)] #![deny(warnings)] #![feature(proc_macro)] #![no_std] diff --git a/tests/cfail/resource-not-send.rs b/tests/cfail/resource-not-send.rs new file mode 100644 index 0000000..c89c3d3 --- /dev/null +++ b/tests/cfail/resource-not-send.rs @@ -0,0 +1,53 @@ +#![deny(unsafe_code)] +#![deny(warnings)] +#![feature(const_fn)] +#![feature(proc_macro)] +#![no_std] + +extern crate cortex_m_rtfm as rtfm; +extern crate stm32f103xx; + +use rtfm::{app, Resource, Threshold}; + +app! { + device: stm32f103xx, + + resources: { + static SHARED: bool = false; + }, + + tasks: { + EXTI0: { + path: exti0, + priority: 1, + resources: [SHARED], + }, + + EXTI1: { + path: exti1, + priority: 2, + resources: [SHARED], + }, + }, +} + +fn init(_p: init::Peripherals, _r: init::Resources) {} + +fn idle() -> ! { + loop {} +} + +fn is_send<T>(_: &T) where T: Send {} +fn is_sync<T>(_: &T) where T: Sync {} + +fn exti0(_t: &mut Threshold, r: EXTI0::Resources) { + // OK + is_sync(&r.SHARED); + + // ERROR resource proxies are not `Send`able across tasks + is_send(&r.SHARED); + //~^ error the trait bound `*const (): core::marker::Send` is not satisfied +} + +fn exti1(_t: &mut Threshold, _r: EXTI1::Resources) { +} diff --git a/tests/cfail/token-outlive.rs b/tests/cfail/token-outlive.rs index 31231b7..819a3d1 100644 --- a/tests/cfail/token-outlive.rs +++ b/tests/cfail/token-outlive.rs @@ -1,3 +1,4 @@ +#![deny(unsafe_code)] #![deny(warnings)] #![feature(const_fn)] #![feature(proc_macro)] diff --git a/tests/cfail/token-transfer.rs b/tests/cfail/token-transfer.rs index 38e8786..bc62052 100644 --- a/tests/cfail/token-transfer.rs +++ b/tests/cfail/token-transfer.rs @@ -1,3 +1,4 @@ +#![deny(unsafe_code)] #![deny(warnings)] #![feature(const_fn)] #![feature(proc_macro)] diff --git a/tests/cfail/wrong-threshold.rs b/tests/cfail/wrong-threshold.rs index b974071..149f357 100644 --- a/tests/cfail/wrong-threshold.rs +++ b/tests/cfail/wrong-threshold.rs @@ -1,3 +1,4 @@ +#![deny(unsafe_code)] #![deny(warnings)] #![feature(proc_macro)] #![no_std] |
