diff options
author | 2022-08-05 11:43:50 +0200 | |
---|---|---|
committer | 2022-08-05 11:52:41 +0200 | |
commit | bf54d4dc2b08fe1103fc9d6a5979746ffc136f82 (patch) | |
tree | f182d3a11d8830e5c75172637ac79041f942706d /macros/src | |
parent | 46a3f2befd6fd821e5747ce9db112c550bc989f3 (diff) | |
download | rtic-bf54d4dc2b08fe1103fc9d6a5979746ffc136f82.tar.gz rtic-bf54d4dc2b08fe1103fc9d6a5979746ffc136f82.tar.zst rtic-bf54d4dc2b08fe1103fc9d6a5979746ffc136f82.zip |
Fix xtask for async
Diffstat (limited to '')
-rw-r--r-- | macros/src/check.rs | 2 | ||||
-rw-r--r-- | macros/src/codegen/dispatchers.rs | 13 |
2 files changed, 6 insertions, 9 deletions
diff --git a/macros/src/check.rs b/macros/src/check.rs index 4b360738..74df688c 100644 --- a/macros/src/check.rs +++ b/macros/src/check.rs @@ -43,7 +43,7 @@ pub fn app(app: &App, _analysis: &Analysis) -> parse::Result<Extra> { let need = priorities .iter() // Only count if not 0 - .filter_map(|prio| if *prio > 0 { Some(prio) } else { None }) + .filter(|prio| **prio > 0) .count(); let given = app.args.extern_interrupts.len(); if need > given { diff --git a/macros/src/codegen/dispatchers.rs b/macros/src/codegen/dispatchers.rs index 62df4293..6b241140 100644 --- a/macros/src/codegen/dispatchers.rs +++ b/macros/src/codegen/dispatchers.rs @@ -183,14 +183,11 @@ pub fn codegen(app: &App, analysis: &Analysis, extra: &Extra) -> Vec<TokenStream } )); - for name in channel.tasks.iter().filter_map(|name| { - let task = &app.software_tasks[name]; - if task.is_async { - Some(name) - } else { - None - } - }) { + for name in channel + .tasks + .iter() + .filter(|name| app.software_tasks[*name].is_async) + { let exec_name = util::internal_task_ident(name, "EXEC"); let executor_run_ident = util::executor_run_ident(name); |