aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Emil Fresk <emil.fresk@gmail.com> 2023-01-31 22:05:43 +0100
committerGravatar Henrik Tjäder <henrik@tjaders.com> 2023-02-01 09:10:31 +0100
commit2a4218c8ff58a4061d29d311c01ccc97a0143b08 (patch)
tree31efeed8bbf31ce837eb374cde33859fab60f622
parent4c95224e7274dc508e6d89304b9f58bf07c40ee6 (diff)
downloadrtic-2a4218c8ff58a4061d29d311c01ccc97a0143b08.tar.gz
rtic-2a4218c8ff58a4061d29d311c01ccc97a0143b08.tar.zst
rtic-2a4218c8ff58a4061d29d311c01ccc97a0143b08.zip
Cleanup common code and clippy fixes
Diffstat (limited to '')
-rw-r--r--rtic-channel/src/lib.rs12
-rw-r--r--rtic-time/Cargo.toml1
-rw-r--r--rtic-time/src/lib.rs27
3 files changed, 8 insertions, 32 deletions
diff --git a/rtic-channel/src/lib.rs b/rtic-channel/src/lib.rs
index fef546b3..47e4a77d 100644
--- a/rtic-channel/src/lib.rs
+++ b/rtic-channel/src/lib.rs
@@ -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,12 +401,10 @@ impl<'a, T, const N: usize> Receiver<'a, T, N> {
}
Ok(r)
+ } else if self.is_closed() {
+ Err(ReceiveError::NoSender)
} else {
- if self.is_closed() {
- Err(ReceiveError::NoSender)
- } else {
- Err(ReceiveError::Empty)
- }
+ Err(ReceiveError::Empty)
}
}
diff --git a/rtic-time/Cargo.toml b/rtic-time/Cargo.toml
index ea059396..dbcf4544 100644
--- a/rtic-time/Cargo.toml
+++ b/rtic-time/Cargo.toml
@@ -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" }
diff --git a/rtic-time/src/lib.rs b/rtic-time/src/lib.rs
index 44fdbcec..5e4457cc 100644
--- a/rtic-time/src/lib.rs
+++ b/rtic-time/src/lib.rs
@@ -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()() }
- }
-}