diff options
author | 2022-02-18 19:38:48 +0100 | |
---|---|---|
committer | 2022-02-22 18:56:21 +0100 | |
commit | 5ed93bd1bf056f1d2b8632502300d7488df4e9df (patch) | |
tree | 2e1bf40e2eaeeb4b58c996c1659c8a7429e2a518 /macros/src/codegen/shared_resources_struct.rs | |
parent | 57da1e0403510cafbdcf88e402b39ae6d3bf323e (diff) | |
download | rtic-5ed93bd1bf056f1d2b8632502300d7488df4e9df.tar.gz rtic-5ed93bd1bf056f1d2b8632502300d7488df4e9df.tar.zst rtic-5ed93bd1bf056f1d2b8632502300d7488df4e9df.zip |
Clippy with pedantic suggestions
Diffstat (limited to 'macros/src/codegen/shared_resources_struct.rs')
-rw-r--r-- | macros/src/codegen/shared_resources_struct.rs | 55 |
1 files changed, 27 insertions, 28 deletions
diff --git a/macros/src/codegen/shared_resources_struct.rs b/macros/src/codegen/shared_resources_struct.rs index 7ae8d808..90cbc1be 100644 --- a/macros/src/codegen/shared_resources_struct.rs +++ b/macros/src/codegen/shared_resources_struct.rs @@ -35,33 +35,8 @@ pub fn codegen(ctxt: Context, needs_lt: &mut bool, app: &App) -> (TokenStream2, let mangled_name = util::static_shared_resource_ident(name); let shared_name = util::need_to_lock_ident(name); - if !res.properties.lock_free { - if access.is_shared() { - lt = Some(quote!('a)); - - fields.push(quote!( - #(#cfgs)* - pub #name: &'a #ty - )); - } else { - // Resource proxy - lt = Some(quote!('a)); - - fields.push(quote!( - #(#cfgs)* - pub #name: shared_resources::#shared_name<'a> - )); - - values.push(quote!( - #(#cfgs)* - #name: shared_resources::#shared_name::new(priority) - - )); - - // continue as the value has been filled, - continue; - } - } else { + if res.properties.lock_free { + // Lock free resources of `idle` and `init` get 'static lifetime let lt = if ctxt.runs_once() { quote!('static) } else { @@ -73,6 +48,30 @@ pub fn codegen(ctxt: Context, needs_lt: &mut bool, app: &App) -> (TokenStream2, #(#cfgs)* pub #name: &#lt #mut_ #ty )); + } else if access.is_shared() { + lt = Some(quote!('a)); + + fields.push(quote!( + #(#cfgs)* + pub #name: &'a #ty + )); + } else { + // Resource proxy + lt = Some(quote!('a)); + + fields.push(quote!( + #(#cfgs)* + pub #name: shared_resources::#shared_name<'a> + )); + + values.push(quote!( + #(#cfgs)* + #name: shared_resources::#shared_name::new(priority) + + )); + + // continue as the value has been filled, + continue; } let expr = if access.is_exclusive() { @@ -97,7 +96,7 @@ pub fn codegen(ctxt: Context, needs_lt: &mut bool, app: &App) -> (TokenStream2, pub __marker__: core::marker::PhantomData<&'a ()> )); - values.push(quote!(__marker__: core::marker::PhantomData)) + values.push(quote!(__marker__: core::marker::PhantomData)); } } |