aboutsummaryrefslogtreecommitdiff
path: root/macros/src/codegen/shared_resources_struct.rs
diff options
context:
space:
mode:
authorGravatar Henrik Tjäder <henrik@grepit.se> 2022-02-18 19:38:48 +0100
committerGravatar Henrik Tjäder <henrik@grepit.se> 2022-02-22 18:56:21 +0100
commit5ed93bd1bf056f1d2b8632502300d7488df4e9df (patch)
tree2e1bf40e2eaeeb4b58c996c1659c8a7429e2a518 /macros/src/codegen/shared_resources_struct.rs
parent57da1e0403510cafbdcf88e402b39ae6d3bf323e (diff)
downloadrtic-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.rs55
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));
}
}