diff options
author | 2023-06-08 13:44:49 +0200 | |
---|---|---|
committer | 2023-06-08 14:14:36 +0200 | |
commit | a7653cc05092aa5b009172c531e4f729c678a858 (patch) | |
tree | 3ef77dd6af020d06cc37b25faf277834f94ef093 /rtic-macros/src/codegen/idle.rs | |
parent | 599793829377a64603e93a1136360f17d3bade93 (diff) | |
download | rtic-a7653cc05092aa5b009172c531e4f729c678a858.tar.gz rtic-a7653cc05092aa5b009172c531e4f729c678a858.tar.zst rtic-a7653cc05092aa5b009172c531e4f729c678a858.zip |
allow init and idle to be externed
Diffstat (limited to 'rtic-macros/src/codegen/idle.rs')
-rw-r--r-- | rtic-macros/src/codegen/idle.rs | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/rtic-macros/src/codegen/idle.rs b/rtic-macros/src/codegen/idle.rs index 0c833ef3..9e608cb9 100644 --- a/rtic-macros/src/codegen/idle.rs +++ b/rtic-macros/src/codegen/idle.rs @@ -34,16 +34,20 @@ pub fn codegen(app: &App, analysis: &Analysis) -> TokenStream2 { let attrs = &idle.attrs; let context = &idle.context; let stmts = &idle.stmts; - let user_idle = Some(quote!( - #(#attrs)* - #[allow(non_snake_case)] - fn #name(#context: #name::Context) -> ! { - use rtic::Mutex as _; - use rtic::mutex::prelude::*; - - #(#stmts)* - } - )); + let user_idle = if !idle.is_extern { + Some(quote!( + #(#attrs)* + #[allow(non_snake_case)] + fn #name(#context: #name::Context) -> ! { + use rtic::Mutex as _; + use rtic::mutex::prelude::*; + + #(#stmts)* + } + )) + } else { + None + }; quote!( #(#mod_app)* |