aboutsummaryrefslogtreecommitdiff
path: root/embassy-nrf
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2024-11-08 13:20:13 +0100
committerDario Nieuwenhuis <[email protected]>2024-11-08 13:20:13 +0100
commit0de204ccd7fea064f1b2ad5f0830a9b8ff0a09a9 (patch)
tree8581bf7a96d524d0b1c972d41bcc20aa4c02c4af /embassy-nrf
parent05d36233fc2336b17112dda52aaa0f53251c0dc0 (diff)
Fix "non-local impl definition" warning from recent nightlies.
Diffstat (limited to 'embassy-nrf')
-rw-r--r--embassy-nrf/src/lib.rs63
1 files changed, 36 insertions, 27 deletions
diff --git a/embassy-nrf/src/lib.rs b/embassy-nrf/src/lib.rs
index 03d3ca5f7..430b6fae7 100644
--- a/embassy-nrf/src/lib.rs
+++ b/embassy-nrf/src/lib.rs
@@ -177,34 +177,43 @@ mod chip;
177// developer note: this macro can't be in `embassy-hal-internal` due to the use of `$crate`. 177// developer note: this macro can't be in `embassy-hal-internal` due to the use of `$crate`.
178#[macro_export] 178#[macro_export]
179macro_rules! bind_interrupts { 179macro_rules! bind_interrupts {
180 ($vis:vis struct $name:ident { 180 ($vis:vis struct $name:ident {
181 $( 181 $(
182 $(#[cfg($cond_irq:meta)])? 182 $(#[cfg($cond_irq:meta)])?
183 $irq:ident => $( 183 $irq:ident => $(
184 $(#[cfg($cond_handler:meta)])? 184 $(#[cfg($cond_handler:meta)])?
185 $handler:ty 185 $handler:ty
186 ),*; 186 ),*;
187 )* 187 )*
188 }) => { 188 }) => {
189 #[derive(Copy, Clone)] 189 #[derive(Copy, Clone)]
190 $vis struct $name; 190 $vis struct $name;
191 191
192 $( 192 $(
193 #[allow(non_snake_case)] 193 #[allow(non_snake_case)]
194 #[no_mangle] 194 #[no_mangle]
195 $(#[cfg($cond_irq)])? 195 $(#[cfg($cond_irq)])?
196 unsafe extern "C" fn $irq() { 196 unsafe extern "C" fn $irq() {
197 $( 197 $(
198 $(#[cfg($cond_handler)])? 198 $(#[cfg($cond_handler)])?
199 <$handler as $crate::interrupt::typelevel::Handler<$crate::interrupt::typelevel::$irq>>::on_interrupt(); 199 <$handler as $crate::interrupt::typelevel::Handler<$crate::interrupt::typelevel::$irq>>::on_interrupt();
200 200
201 $(#[cfg($cond_handler)])? 201 )*
202 unsafe impl $crate::interrupt::typelevel::Binding<$crate::interrupt::typelevel::$irq, $handler> for $name {} 202 }
203 )* 203
204 } 204 $(#[cfg($cond_irq)])?
205 )* 205 $crate::bind_interrupts!(@inner
206 }; 206 $(
207 $(#[cfg($cond_handler)])?
208 unsafe impl $crate::interrupt::typelevel::Binding<$crate::interrupt::typelevel::$irq, $handler> for $name {}
209 )*
210 );
211 )*
212 };
213 (@inner $($t:tt)*) => {
214 $($t)*
207 } 215 }
216}
208 217
209// Reexports 218// Reexports
210 219