diff --git a/rtic-macros/CHANGELOG.md b/rtic-macros/CHANGELOG.md index 0f9858365a97..86b051b695fc 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 eee23c6a1cb1..904aa83cc101 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 a173e2429b24..768e2000c98b 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 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 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 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 ErrorType for ArbiterDevice<'_, BUS, CS, D> where BUS: ErrorType, CS: OutputPin, @@ -223,7 +223,7 @@ pub mod spi { type Error = DeviceError; } - impl<'a, Word, BUS, CS, D> SpiDevice for ArbiterDevice<'a, BUS, CS, D> + impl SpiDevice for ArbiterDevice<'_, BUS, CS, D> where Word: Copy + 'static, BUS: SpiBus, @@ -338,14 +338,14 @@ pub mod i2c { } } - impl<'a, BUS> ErrorType for ArbiterDevice<'a, BUS> + impl ErrorType for ArbiterDevice<'_, BUS> where BUS: ErrorType, { type Error = BUS::Error; } - impl<'a, BUS, A> I2c for ArbiterDevice<'a, BUS> + impl I2c for ArbiterDevice<'_, BUS> where BUS: I2c, A: AddressMode, diff --git a/rtic-sync/src/channel.rs b/rtic-sync/src/channel.rs index 0857f724f2b0..65a83d9b8e21 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); -unsafe impl<'a, T, const N: usize> Send for Sender<'a, T, N> {} +unsafe impl 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 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 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 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 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 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); -unsafe impl<'a, T, const N: usize> Send for Receiver<'a, T, N> {} +unsafe impl Send for Receiver<'_, T, N> {} -impl<'a, T, const N: usize> core::fmt::Debug for Receiver<'a, T, N> { +impl 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 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 Receiver<'_, T, N> { /// Receives a value if there is one in the channel, non-blocking. pub fn try_recv(&mut self) -> Result { // 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 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 47a96cc5637f..a7bef0f9b5b8 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 SignalWriter<'_, T> { /// Write a raw Store value to the Signal. fn write_inner(&mut self, value: Store) { critical_section::with(|_| { diff --git a/rtic-time/src/timer_queue.rs b/rtic-time/src/timer_queue.rs index c4cd7eb0a4bb..4353a20acdd4 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 Future for Delay<'_, Backend> { type Output = (); fn poll(self: Pin<&mut Self>, cx: &mut core::task::Context<'_>) -> Poll { @@ -249,7 +249,7 @@ impl<'q, Backend: TimerQueueBackend> Future for Delay<'q, Backend> { } } -impl<'q, Backend: TimerQueueBackend> Drop for Delay<'q, Backend> { +impl 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 Future for Timeout<'_, Backend, F> { type Output = Result; fn poll(self: Pin<&mut Self>, cx: &mut core::task::Context<'_>) -> Poll { diff --git a/rtic/CHANGELOG.md b/rtic/CHANGELOG.md index 0799bf5229bc..faefaeb8edae 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 5c9fae77d242..2de01eba51e5 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"