Cleanup common code and clippy fixes

This commit is contained in:
Emil Fresk 2023-01-31 22:05:43 +01:00 committed by Henrik Tjäder
parent 15d788b7fa
commit d0c5126960
3 changed files with 8 additions and 32 deletions

View file

@ -142,8 +142,8 @@ where
{
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
match self {
TrySendError::NoReceiver(v) => write!(f, "NoReceiver({:?})", v),
TrySendError::Full(v) => write!(f, "Full({:?})", v),
TrySendError::NoReceiver(v) => write!(f, "NoReceiver({v:?})"),
TrySendError::Full(v) => write!(f, "Full({v:?})"),
}
}
}
@ -401,14 +401,12 @@ impl<'a, T, const N: usize> Receiver<'a, T, N> {
}
Ok(r)
} else {
if self.is_closed() {
} else if self.is_closed() {
Err(ReceiveError::NoSender)
} else {
Err(ReceiveError::Empty)
}
}
}
/// Receives a value, waiting if the queue is empty.
/// If all senders are dropped this will error with `NoSender`.

View file

@ -8,3 +8,4 @@ edition = "2021"
[dependencies]
critical-section = "1"
futures-util = { version = "0.3.25", default-features = false }
rtic-common = { version = "1.0.0", path = "../rtic-common" }

View file

@ -14,13 +14,13 @@ use futures_util::{
future::{select, Either},
pin_mut,
};
use linked_list::{Link, LinkedList};
pub use monotonic::Monotonic;
use rtic_common::dropper::OnDrop;
mod linked_list;
mod monotonic;
use linked_list::{Link, LinkedList};
/// Holds a waker and at which time instant this waker shall be awoken.
struct WaitingWaker<Mono: Monotonic> {
waker: Waker,
@ -264,26 +264,3 @@ impl<Mono: Monotonic> TimerQueue<Mono> {
}
}
}
struct OnDrop<F: FnOnce()> {
f: core::mem::MaybeUninit<F>,
}
impl<F: FnOnce()> OnDrop<F> {
pub fn new(f: F) -> Self {
Self {
f: core::mem::MaybeUninit::new(f),
}
}
#[allow(unused)]
pub fn defuse(self) {
core::mem::forget(self)
}
}
impl<F: FnOnce()> Drop for OnDrop<F> {
fn drop(&mut self) {
unsafe { self.f.as_ptr().read()() }
}
}