diff options
| author | Emil Fresk <emil.fresk@gmail.com> | 2024-12-06 13:38:15 +0100 |
|---|---|---|
| committer | Emil Fresk <emil.fresk@gmail.com> | 2024-12-06 14:09:26 +0100 |
| commit | b41a10e794261e1539cd571aab00fca40568ba87 (patch) | |
| tree | 50f184af566d990ae3ca3c99e585ac4ae9c57632 /rtic-sync/src/channel.rs | |
| parent | f17915842ff18be48b6c8ed5faac378bc26ff3b3 (diff) | |
Fix documentation (docs.rs) and release 2.1.2
Diffstat (limited to 'rtic-sync/src/channel.rs')
| -rw-r--r-- | rtic-sync/src/channel.rs | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/rtic-sync/src/channel.rs b/rtic-sync/src/channel.rs index 0857f72..65a83d9 100644 --- a/rtic-sync/src/channel.rs +++ b/rtic-sync/src/channel.rs @@ -127,7 +127,10 @@ macro_rules! make_channel { // SAFETY: This is safe as we hide the static mut from others to access it. // Only this point is where the mutable access happens. - unsafe { CHANNEL.split() } + #[allow(static_mut_refs)] + unsafe { + CHANNEL.split() + } }}; } @@ -184,7 +187,7 @@ where /// A `Sender` can send to the channel and can be cloned. pub struct Sender<'a, T, const N: usize>(&'a Channel<T, N>); -unsafe impl<'a, T, const N: usize> Send for Sender<'a, T, N> {} +unsafe impl<T, const N: usize> Send for Sender<'_, T, N> {} /// This is needed to make the async closure in `send` accept that we "share" /// the link possible between threads. @@ -202,20 +205,20 @@ unsafe impl Send for LinkPtr {} unsafe impl Sync for LinkPtr {} -impl<'a, T, const N: usize> core::fmt::Debug for Sender<'a, T, N> { +impl<T, const N: usize> core::fmt::Debug for Sender<'_, T, N> { fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(f, "Sender") } } #[cfg(feature = "defmt-03")] -impl<'a, T, const N: usize> defmt::Format for Sender<'a, T, N> { +impl<T, const N: usize> defmt::Format for Sender<'_, T, N> { fn format(&self, f: defmt::Formatter) { defmt::write!(f, "Sender",) } } -impl<'a, T, const N: usize> Sender<'a, T, N> { +impl<T, const N: usize> Sender<'_, T, N> { #[inline(always)] fn send_footer(&mut self, idx: u8, val: T) { // Write the value to the slots, note; this memcpy is not under a critical section. @@ -360,7 +363,7 @@ impl<'a, T, const N: usize> Sender<'a, T, N> { } } -impl<'a, T, const N: usize> Drop for Sender<'a, T, N> { +impl<T, const N: usize> Drop for Sender<'_, T, N> { fn drop(&mut self) { // Count down the reference counter let num_senders = critical_section::with(|cs| { @@ -376,7 +379,7 @@ impl<'a, T, const N: usize> Drop for Sender<'a, T, N> { } } -impl<'a, T, const N: usize> Clone for Sender<'a, T, N> { +impl<T, const N: usize> Clone for Sender<'_, T, N> { fn clone(&self) -> Self { // Count up the reference counter critical_section::with(|cs| *self.0.access(cs).num_senders += 1); @@ -390,16 +393,16 @@ impl<'a, T, const N: usize> Clone for Sender<'a, T, N> { /// A receiver of the channel. There can only be one receiver at any time. pub struct Receiver<'a, T, const N: usize>(&'a Channel<T, N>); -unsafe impl<'a, T, const N: usize> Send for Receiver<'a, T, N> {} +unsafe impl<T, const N: usize> Send for Receiver<'_, T, N> {} -impl<'a, T, const N: usize> core::fmt::Debug for Receiver<'a, T, N> { +impl<T, const N: usize> core::fmt::Debug for Receiver<'_, T, N> { fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(f, "Receiver") } } #[cfg(feature = "defmt-03")] -impl<'a, T, const N: usize> defmt::Format for Receiver<'a, T, N> { +impl<T, const N: usize> defmt::Format for Receiver<'_, T, N> { fn format(&self, f: defmt::Formatter) { defmt::write!(f, "Receiver",) } @@ -415,7 +418,7 @@ pub enum ReceiveError { Empty, } -impl<'a, T, const N: usize> Receiver<'a, T, N> { +impl<T, const N: usize> Receiver<'_, T, N> { /// Receives a value if there is one in the channel, non-blocking. pub fn try_recv(&mut self) -> Result<T, ReceiveError> { // Try to get a ready slot. @@ -487,7 +490,7 @@ impl<'a, T, const N: usize> Receiver<'a, T, N> { } } -impl<'a, T, const N: usize> Drop for Receiver<'a, T, N> { +impl<T, const N: usize> Drop for Receiver<'_, T, N> { fn drop(&mut self) { // Mark the receiver as dropped and wake all waiters critical_section::with(|cs| *self.0.access(cs).receiver_dropped = true); |
