aboutsummaryrefslogtreecommitdiff
path: root/embassy-macros/src/lib.rs
diff options
context:
space:
mode:
authorTimo Kröger <[email protected]>2020-12-31 15:38:10 +0100
committerTimo Kröger <[email protected]>2020-12-31 15:38:10 +0100
commitc17954ccbaefbcf755ad819f76eb3c9f83ef325f (patch)
tree807c8cded53b7b9cdc1de7f42d3294ece729b22f /embassy-macros/src/lib.rs
parentcd56d2621a4f081f7c7467a2a0aa74e1d2ca49ef (diff)
Fix warnings for tasks that take mutable parameters
#[task] pub async fn run(mut param: Param) {} warning: variable does not need to be mutable
Diffstat (limited to 'embassy-macros/src/lib.rs')
-rw-r--r--embassy-macros/src/lib.rs11
1 files changed, 7 insertions, 4 deletions
diff --git a/embassy-macros/src/lib.rs b/embassy-macros/src/lib.rs
index c2e2d9e27..c46f114a0 100644
--- a/embassy-macros/src/lib.rs
+++ b/embassy-macros/src/lib.rs
@@ -55,9 +55,9 @@ pub fn task(args: TokenStream, item: TokenStream) -> TokenStream {
55 55
56 let mut arg_names: syn::punctuated::Punctuated<syn::Ident, syn::Token![,]> = 56 let mut arg_names: syn::punctuated::Punctuated<syn::Ident, syn::Token![,]> =
57 syn::punctuated::Punctuated::new(); 57 syn::punctuated::Punctuated::new();
58 let args = &task_fn.sig.inputs; 58 let mut args = task_fn.sig.inputs.clone();
59 59
60 for arg in args.iter() { 60 for arg in args.iter_mut() {
61 match arg { 61 match arg {
62 syn::FnArg::Receiver(_) => { 62 syn::FnArg::Receiver(_) => {
63 arg.span() 63 arg.span()
@@ -66,8 +66,11 @@ pub fn task(args: TokenStream, item: TokenStream) -> TokenStream {
66 .emit(); 66 .emit();
67 fail = true; 67 fail = true;
68 } 68 }
69 syn::FnArg::Typed(t) => match t.pat.as_ref() { 69 syn::FnArg::Typed(t) => match t.pat.as_mut() {
70 syn::Pat::Ident(i) => arg_names.push(i.ident.clone()), 70 syn::Pat::Ident(i) => {
71 arg_names.push(i.ident.clone());
72 i.mutability = None;
73 }
71 _ => { 74 _ => {
72 arg.span() 75 arg.span()
73 .unwrap() 76 .unwrap()