Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix documentation (docs.rs) and release 2.1.2 #1003

Merged
merged 1 commit into from
Dec 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion rtic-macros/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
2 changes: 1 addition & 1 deletion rtic-macros/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
14 changes: 7 additions & 7 deletions rtic-sync/src/arbiter.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -177,15 +177,15 @@ 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 {
self.inner
}
}

impl<'a, T> DerefMut for ExclusiveAccess<'a, T> {
impl<T> DerefMut for ExclusiveAccess<'_, T> {
fn deref_mut(&mut self) -> &mut Self::Target {
self.inner
}
Expand Down Expand Up @@ -215,15 +215,15 @@ 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,
{
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>,
Expand Down Expand Up @@ -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,
Expand Down
27 changes: 15 additions & 12 deletions rtic-sync/src/channel.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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()
}
}};
}

Expand Down Expand Up @@ -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.
Expand All @@ -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.
Expand Down Expand Up @@ -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| {
Expand All @@ -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);
Expand All @@ -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",)
}
Expand All @@ -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.
Expand Down Expand Up @@ -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);
Expand Down
2 changes: 1 addition & 1 deletion rtic-sync/src/signal.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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(|_| {
Expand Down
6 changes: 3 additions & 3 deletions rtic-time/src/timer_queue.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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> {
Expand Down Expand Up @@ -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`.
Expand All @@ -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> {
Expand Down
2 changes: 2 additions & 0 deletions rtic/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ Example:

## [Unreleased]

## [v2.1.2] - 2024-12-06

### Changed

- Updated esp32c3 dependency to v0.26.0
Expand Down
6 changes: 3 additions & 3 deletions rtic/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand All @@ -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"

Expand Down
Loading