diff options
| author | Emil Fresk <emil.fresk@gmail.com> | 2021-04-08 09:12:08 +0200 |
|---|---|---|
| committer | Emil Fresk <emil.fresk@gmail.com> | 2021-04-08 10:14:14 +0200 |
| commit | 51500a1d7096395be9162599fae647ec121db91d (patch) | |
| tree | 17f732cbb06dd480bd0881d0ec627cc173ba5bfc /macros | |
| parent | 2068eae9280881e34b5cc2d76b0b1a61402223e7 (diff) | |
Fixed UB in `spawn_at`
Diffstat (limited to 'macros')
| -rw-r--r-- | macros/Cargo.toml | 4 | ||||
| -rw-r--r-- | macros/src/codegen/module.rs | 16 |
2 files changed, 6 insertions, 14 deletions
diff --git a/macros/Cargo.toml b/macros/Cargo.toml index 8607ce5..203a2bb 100644 --- a/macros/Cargo.toml +++ b/macros/Cargo.toml @@ -22,6 +22,4 @@ proc-macro2 = "1" proc-macro-error = "1" quote = "1" syn = "1" -# rtic-syntax = "0.5.0-alpha.2" -rtic-syntax = { path = "../../rtic-syntax", version = "0.5.0-alpha.2" } - +rtic-syntax = "0.5.0-alpha.2" diff --git a/macros/src/codegen/module.rs b/macros/src/codegen/module.rs index ac69a80..50146c0 100644 --- a/macros/src/codegen/module.rs +++ b/macros/src/codegen/module.rs @@ -414,17 +414,11 @@ pub fn codegen( let tq = unsafe { &mut *#app_path::#tq.as_mut_ptr() }; - if let Some(mono) = #app_path::#m_ident.as_mut() { - tq.enqueue_unchecked( - nr, - || #enable_interrupt, - || #pend, - mono) - } else { - // We can only use the timer queue if `init` has returned, and it - // writes the `Some(monotonic)` we are accessing here. - core::hint::unreachable_unchecked() - } + tq.enqueue_unchecked( + nr, + || #enable_interrupt, + || #pend, + #app_path::#m_ident.as_mut()); Ok(SpawnHandle { marker }) }) |
