diff options
author | 2021-05-27 16:18:46 +0000 | |
---|---|---|
committer | 2021-05-27 16:18:46 +0000 | |
commit | 0b0bb1bfa9de42e951f538b8f43bfcc53709a241 (patch) | |
tree | 8d83566481df0925920b703e63dc310b87c39bb9 /macros/src/codegen.rs | |
parent | aad8f81991c3495f225df80d7c8456faecd40728 (diff) | |
parent | c17348d2904b60713e1914567ba5566134165103 (diff) | |
download | rtic-0b0bb1bfa9de42e951f538b8f43bfcc53709a241.tar.gz rtic-0b0bb1bfa9de42e951f538b8f43bfcc53709a241.tar.zst rtic-0b0bb1bfa9de42e951f538b8f43bfcc53709a241.zip |
Merge #485v0.6.0-alpha.4
485: New codegen structure to eliminate issues with paths r=korken89 a=korken89
Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
Diffstat (limited to 'macros/src/codegen.rs')
-rw-r--r-- | macros/src/codegen.rs | 17 |
1 files changed, 2 insertions, 15 deletions
diff --git a/macros/src/codegen.rs b/macros/src/codegen.rs index de11cce4..113d17f9 100644 --- a/macros/src/codegen.rs +++ b/macros/src/codegen.rs @@ -97,8 +97,6 @@ pub fn app(app: &App, analysis: &Analysis, extra: &Extra) -> TokenStream2 { let user_code = &app.user_code; let name = &app.name; let device = &extra.device; - let app_name = &app.name; - let app_path = quote! {crate::#app_name}; let monotonic_parts: Vec<_> = app .monotonics @@ -106,7 +104,6 @@ pub fn app(app: &App, analysis: &Analysis, extra: &Extra) -> TokenStream2 { .map(|(_, monotonic)| { let name = &monotonic.ident; let name_str = &name.to_string(); - let ty = &monotonic.ty; let ident = util::monotonic_ident(&name_str); let ident = util::mark_internal_ident(&ident); let panic_str = &format!( @@ -117,7 +114,6 @@ pub fn app(app: &App, analysis: &Analysis, extra: &Extra) -> TokenStream2 { "This module holds the static implementation for `{}::now()`", name_str ); - let user_imports = &app.user_imports; let default_monotonic = if monotonic.args.default { quote!(pub use #name::now;) @@ -131,17 +127,13 @@ pub fn app(app: &App, analysis: &Analysis, extra: &Extra) -> TokenStream2 { #[doc = #doc] #[allow(non_snake_case)] pub mod #name { - #( - #[allow(unused_imports)] - #user_imports - )* /// Read the current time from this monotonic - pub fn now() -> rtic::time::Instant<#ty> { + pub fn now() -> rtic::time::Instant<super::super::#name> { rtic::export::interrupt::free(|_| { use rtic::Monotonic as _; use rtic::time::Clock as _; - if let Some(m) = unsafe{ #app_path::#ident.get_mut_unchecked() } { + if let Some(m) = unsafe{ super::super::#ident.get_mut_unchecked() } { if let Ok(v) = m.try_now() { v } else { @@ -163,11 +155,6 @@ pub fn app(app: &App, analysis: &Analysis, extra: &Extra) -> TokenStream2 { /// Holds static methods for each monotonic. pub mod monotonics { - #( - #[allow(unused_imports)] - #user_imports - )* - #(#monotonic_parts)* } ) |