diff options
| author | Dinu Blanovschi <[email protected]> | 2024-10-22 16:23:17 +0200 |
|---|---|---|
| committer | Dinu Blanovschi <[email protected]> | 2024-10-22 16:23:17 +0200 |
| commit | 5c23c789ee2776ea022957b82480dad6d0d0f660 (patch) | |
| tree | 22402dc31f2e64e792cf6f468e2004c0c429d47e | |
| parent | 82a438a0379b70b6df4bb72750267fa51ed787ab (diff) | |
fix
| -rw-r--r-- | embassy-stm32/src/lib.rs | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/embassy-stm32/src/lib.rs b/embassy-stm32/src/lib.rs index c59174988..de68c54dc 100644 --- a/embassy-stm32/src/lib.rs +++ b/embassy-stm32/src/lib.rs | |||
| @@ -188,13 +188,30 @@ macro_rules! bind_interrupts { | |||
| 188 | )* | 188 | )* |
| 189 | } | 189 | } |
| 190 | 190 | ||
| 191 | $( | 191 | $crate::bind_interrupts!(@__generate_impls $name $(#[cfg($cond_irq)])? $irq => $( |
| 192 | $(#[cfg($cond_irq)])? | ||
| 193 | $(#[cfg($cond_handler)])? | 192 | $(#[cfg($cond_handler)])? |
| 194 | unsafe impl $crate::interrupt::typelevel::Binding<$crate::interrupt::typelevel::$irq, $handler> for $name {} | 193 | $handler; |
| 195 | )* | 194 | )*); |
| 196 | )* | 195 | )* |
| 197 | }; | 196 | }; |
| 197 | |||
| 198 | (@__generate_single_impl $name:ident $(#[cfg($cond_irq:meta)])? $irq:ident => $(#[cfg($cond_handler:meta)])? $handler:ty;) => { | ||
| 199 | #[cfg(all( | ||
| 200 | $($cond_irq,)? | ||
| 201 | $($cond_handler,)? | ||
| 202 | ))] | ||
| 203 | unsafe impl $crate::interrupt::typelevel::Binding<$crate::interrupt::typelevel::$irq, $handler> for $name {} | ||
| 204 | }; | ||
| 205 | |||
| 206 | (@__generate_impls $name:ident $(#[cfg($cond_irq:meta)])? $irq:ident => $(#[cfg($cond_handler:meta)])? $handler:ty;) => { | ||
| 207 | $crate::bind_interrupts!(@__generate_single_impl $name $(#[cfg($cond_irq)])? $irq => $(#[cfg($cond_handler)])? $handler;); | ||
| 208 | }; | ||
| 209 | |||
| 210 | (@__generate_impls $name:ident $(#[cfg($cond_irq:meta)])? $irq:ident => $(#[cfg($cond_handler:meta)])? $handler:ty; $(tail:tt)*) => { | ||
| 211 | $crate::bind_interrupts!(@__generate_single_impl $name $(#[cfg($cond_irq)])? $irq => $(#[cfg($cond_handler)])? $handler;); | ||
| 212 | |||
| 213 | $crate::bind_interrupts!(@__generate_impls $name $(#[cfg($cond_irq)])? $irq => $(tail)*); | ||
| 214 | }; | ||
| 198 | } | 215 | } |
| 199 | 216 | ||
| 200 | // Reexports | 217 | // Reexports |
