make resource proxies not Sync

This commit is contained in:
Jorge Aparicio 2017-12-09 16:13:22 +01:00
parent 40ebb93cc6
commit 62c5c1ae43
2 changed files with 2 additions and 3 deletions

View file

@ -440,8 +440,6 @@ fn resources(app: &App, ownerships: &Ownerships, root: &mut Vec<Tokens>) {
#[allow(non_camel_case_types)] #[allow(non_camel_case_types)]
pub struct #name { _0: PhantomData<*const ()> } pub struct #name { _0: PhantomData<*const ()> }
unsafe impl Sync for #name {}
#[allow(unsafe_code)] #[allow(unsafe_code)]
impl #name { impl #name {
pub unsafe fn new() -> Self { pub unsafe fn new() -> Self {

View file

@ -41,8 +41,9 @@ fn is_send<T>(_: &T) where T: Send {}
fn is_sync<T>(_: &T) where T: Sync {} fn is_sync<T>(_: &T) where T: Sync {}
fn exti0(_t: &mut Threshold, r: EXTI0::Resources) { fn exti0(_t: &mut Threshold, r: EXTI0::Resources) {
// OK // ERROR resource proxies can't be shared between tasks
is_sync(&r.SHARED); is_sync(&r.SHARED);
//~^ error the trait bound `*const (): core::marker::Sync` is not satisfied
// ERROR resource proxies are not `Send`able across tasks // ERROR resource proxies are not `Send`able across tasks
is_send(&r.SHARED); is_send(&r.SHARED);