From 877a32448fa9933d6f60ae1f25551751d4d651a8 Mon Sep 17 00:00:00 2001 From: Jorge Aparicio Date: Tue, 18 Jul 2017 20:17:09 -0500 Subject: [PATCH] make compatible with the unsafe_code lint --- macros/src/trans.rs | 10 ++++++++++ src/lib.rs | 2 ++ 2 files changed, 12 insertions(+) diff --git a/macros/src/trans.rs b/macros/src/trans.rs index ef224c1921..5262bc4113 100644 --- a/macros/src/trans.rs +++ b/macros/src/trans.rs @@ -18,6 +18,7 @@ pub fn app(app: &App, ownerships: &Ownerships) -> Tokens { ::trans::tasks(app, ownerships, &mut root); root.push(quote! { + #[allow(unsafe_code)] fn main() { #(#main)* } @@ -161,6 +162,7 @@ fn idle( } mod_items.push(quote! { + #[allow(unsafe_code)] impl Resources { pub unsafe fn new() -> Self { Resources { @@ -175,6 +177,7 @@ fn idle( } root.push(quote! { + #[allow(unsafe_code)] mod idle { #(#mod_items)* } @@ -227,6 +230,7 @@ fn init(app: &App, main: &mut Vec, root: &mut Vec) { mod_items.push(quote! { pub use ::_initResources as Resources; + #[allow(unsafe_code)] impl<#lifetime> Resources<#lifetime> { pub unsafe fn new() -> Self { Resources { @@ -241,6 +245,7 @@ fn init(app: &App, main: &mut Vec, root: &mut Vec) { } root.push(quote! { + #[allow(unsafe_code)] mod init { pub use ::#device::Peripherals; @@ -435,6 +440,7 @@ fn resources(app: &App, ownerships: &Ownerships, root: &mut Vec) { impls.push(quote! { #[allow(dead_code)] + #[allow(unsafe_code)] impl _resource::#name { #(#impl_items)* } @@ -444,6 +450,7 @@ fn resources(app: &App, ownerships: &Ownerships, root: &mut Vec) { #[allow(non_camel_case_types)] pub struct #name { _0: () } + #[allow(unsafe_code)] impl #name { pub unsafe fn new() -> Self { #name { _0: () } @@ -455,6 +462,7 @@ fn resources(app: &App, ownerships: &Ownerships, root: &mut Vec) { } root.push(quote! { + #[allow(unsafe_code)] mod _resource { #(#items)* } @@ -538,6 +546,7 @@ fn tasks(app: &App, ownerships: &Ownerships, root: &mut Vec) { } items.push(quote! { + #[allow(unsafe_code)] impl<#lifetime> Resources<#lifetime> { pub unsafe fn new() -> Self { Resources { @@ -551,6 +560,7 @@ fn tasks(app: &App, ownerships: &Ownerships, root: &mut Vec) { root.push(quote!{ #[allow(dead_code)] #[allow(non_snake_case)] + #[allow(unsafe_code)] mod #name { #[deny(dead_code)] pub const #name: u8 = #priority; diff --git a/src/lib.rs b/src/lib.rs index a4cfbec870..26bc2bd0ff 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -219,6 +219,7 @@ where macro_rules! task { ($NAME:ident, $body:path) => { #[allow(non_snake_case)] + #[allow(unsafe_code)] #[no_mangle] pub unsafe extern "C" fn $NAME() { let f: fn(&mut $crate::Threshold, ::$NAME::Resources) = $body; @@ -237,6 +238,7 @@ macro_rules! task { } #[allow(non_snake_case)] + #[allow(unsafe_code)] #[no_mangle] pub unsafe extern "C" fn $NAME() { let f: fn(