aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rtic-macros/CHANGELOG.md3
-rw-r--r--rtic-macros/Cargo.toml2
-rw-r--r--rtic-sync/src/arbiter.rs14
-rw-r--r--rtic-sync/src/channel.rs27
-rw-r--r--rtic-sync/src/signal.rs2
-rw-r--r--rtic-time/src/timer_queue.rs6
-rw-r--r--rtic/CHANGELOG.md2
-rw-r--r--rtic/Cargo.toml6
8 files changed, 34 insertions, 28 deletions
diff --git a/rtic-macros/CHANGELOG.md b/rtic-macros/CHANGELOG.md
index 0f98583..86b051b 100644
--- a/rtic-macros/CHANGELOG.md
+++ b/rtic-macros/CHANGELOG.md
@@ -7,10 +7,11 @@ For each category, *Added*, *Changed*, *Fixed* add new entries at the top!
## [Unreleased]
-- Replace `proc-macro-error` with `proc-macro-error2`
+## [v2.1.1] - 2024-12-06
### Changed
+- Replace `proc-macro-error` with `proc-macro-error2`
- Fix codegen emitting unqualified `Result`
- Improve error output for prios > dispatchers
diff --git a/rtic-macros/Cargo.toml b/rtic-macros/Cargo.toml
index eee23c6..904aa83 100644
--- a/rtic-macros/Cargo.toml
+++ b/rtic-macros/Cargo.toml
@@ -22,7 +22,7 @@ name = "rtic-macros"
readme = "../README.md"
repository = "https://github.com/rtic-rs/rtic"
-version = "2.1.0"
+version = "2.1.1"
[lib]
proc-macro = true
diff --git a/rtic-sync/src/arbiter.rs b/rtic-sync/src/arbiter.rs
index a173e24..768e200 100644
--- a/rtic-sync/src/arbiter.rs
+++ b/rtic-sync/src/arbiter.rs
@@ -161,7 +161,7 @@ pub struct ExclusiveAccess<'a, T> {
inner: &'a mut T,
}
-impl<'a, T> Drop for ExclusiveAccess<'a, T> {
+impl<T> Drop for ExclusiveAccess<'_, T> {
fn drop(&mut self) {
critical_section::with(|_| {
fence(Ordering::SeqCst);
@@ -177,7 +177,7 @@ impl<'a, T> Drop for ExclusiveAccess<'a, T> {
}
}
-impl<'a, T> Deref for ExclusiveAccess<'a, T> {
+impl<T> Deref for ExclusiveAccess<'_, T> {
type Target = T;
fn deref(&self) -> &Self::Target {
@@ -185,7 +185,7 @@ impl<'a, T> Deref for ExclusiveAccess<'a, T> {
}
}
-impl<'a, T> DerefMut for ExclusiveAccess<'a, T> {
+impl<T> DerefMut for ExclusiveAccess<'_, T> {
fn deref_mut(&mut self) -> &mut Self::Target {
self.inner
}
@@ -215,7 +215,7 @@ pub mod spi {
}
}
- impl<'a, BUS, CS, D> ErrorType for ArbiterDevice<'a, BUS, CS, D>
+ impl<BUS, CS, D> ErrorType for ArbiterDevice<'_, BUS, CS, D>
where
BUS: ErrorType,
CS: OutputPin,
@@ -223,7 +223,7 @@ pub mod spi {
type Error = DeviceError<BUS::Error, CS::Error>;
}
- impl<'a, Word, BUS, CS, D> SpiDevice<Word> for ArbiterDevice<'a, BUS, CS, D>
+ impl<Word, BUS, CS, D> SpiDevice<Word> for ArbiterDevice<'_, BUS, CS, D>
where
Word: Copy + 'static,
BUS: SpiBus<Word>,
@@ -338,14 +338,14 @@ pub mod i2c {
}
}
- impl<'a, BUS> ErrorType for ArbiterDevice<'a, BUS>
+ impl<BUS> ErrorType for ArbiterDevice<'_, BUS>
where
BUS: ErrorType,
{
type Error = BUS::Error;
}
- impl<'a, BUS, A> I2c<A> for ArbiterDevice<'a, BUS>
+ impl<BUS, A> I2c<A> for ArbiterDevice<'_, BUS>
where
BUS: I2c<A>,
A: AddressMode,
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);
diff --git a/rtic-sync/src/signal.rs b/rtic-sync/src/signal.rs
index 47a96cc..a7bef0f 100644
--- a/rtic-sync/src/signal.rs
+++ b/rtic-sync/src/signal.rs
@@ -71,7 +71,7 @@ where
}
}
-impl<'a, T: Copy> SignalWriter<'a, T> {
+impl<T: Copy> SignalWriter<'_, T> {
/// Write a raw Store value to the Signal.
fn write_inner(&mut self, value: Store<T>) {
critical_section::with(|_| {
diff --git a/rtic-time/src/timer_queue.rs b/rtic-time/src/timer_queue.rs
index c4cd7eb..4353a20 100644
--- a/rtic-time/src/timer_queue.rs
+++ b/rtic-time/src/timer_queue.rs
@@ -211,7 +211,7 @@ pub struct Delay<'q, Backend: TimerQueueBackend> {
marker: AtomicUsize,
}
-impl<'q, Backend: TimerQueueBackend> Future for Delay<'q, Backend> {
+impl<Backend: TimerQueueBackend> Future for Delay<'_, Backend> {
type Output = ();
fn poll(self: Pin<&mut Self>, cx: &mut core::task::Context<'_>) -> Poll<Self::Output> {
@@ -249,7 +249,7 @@ impl<'q, Backend: TimerQueueBackend> Future for Delay<'q, Backend> {
}
}
-impl<'q, Backend: TimerQueueBackend> Drop for Delay<'q, Backend> {
+impl<Backend: TimerQueueBackend> Drop for Delay<'_, Backend> {
fn drop(&mut self) {
// SAFETY: Drop cannot be run at the same time as poll, so we can't end up
// derefencing this concurrently to the one in `poll`.
@@ -269,7 +269,7 @@ pub struct Timeout<'q, Backend: TimerQueueBackend, F> {
future: F,
}
-impl<'q, Backend: TimerQueueBackend, F: Future> Future for Timeout<'q, Backend, F> {
+impl<Backend: TimerQueueBackend, F: Future> Future for Timeout<'_, Backend, F> {
type Output = Result<F::Output, TimeoutError>;
fn poll(self: Pin<&mut Self>, cx: &mut core::task::Context<'_>) -> Poll<Self::Output> {
diff --git a/rtic/CHANGELOG.md b/rtic/CHANGELOG.md
index 0799bf5..faefaeb 100644
--- a/rtic/CHANGELOG.md
+++ b/rtic/CHANGELOG.md
@@ -20,6 +20,8 @@ Example:
## [Unreleased]
+## [v2.1.2] - 2024-12-06
+
### Changed
- Updated esp32c3 dependency to v0.26.0
diff --git a/rtic/Cargo.toml b/rtic/Cargo.toml
index 5c9fae7..2de01eb 100644
--- a/rtic/Cargo.toml
+++ b/rtic/Cargo.toml
@@ -16,10 +16,10 @@ name = "rtic"
readme = "../README.md"
repository = "https://github.com/rtic-rs/rtic"
-version = "2.1.1"
+version = "2.1.2"
[package.metadata.docs.rs]
-features = ["rtic-macros/test-template"]
+features = ["thumbv7-backend"]
[lib]
name = "rtic"
@@ -31,7 +31,7 @@ riscv = { version = "0.12.1", optional = true }
cortex-m = { version = "0.7.0", optional = true }
bare-metal = "1.0.0"
portable-atomic = { version = "1", default-features = false }
-rtic-macros = { path = "../rtic-macros", version = "=2.1.0" }
+rtic-macros = { path = "../rtic-macros", version = "=2.1.1" }
rtic-core = "1"
critical-section = "1"