Merge pull request #3402 from sourcebox/sync-additions

embassy-sync: documentation and clippy fixes
This commit is contained in:
Ulf Lilleengen 2024-10-10 19:34:46 +00:00 committed by GitHub
commit 9555259c57
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 14 additions and 12 deletions

View File

@ -7,7 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## Unreleased
- Add LazyLock sync primitive.
- Add `LazyLock` sync primitive.
- Add `Watch` sync primitive.
- Add `clear`, `len`, `is_empty` and `is_full` functions to `zerocopy_channel`.
- Add `capacity`, `free_capacity`, `clear`, `len`, `is_empty` and `is_full` functions to `channel::{Sender, Receiver}`.
- Add `capacity`, `free_capacity`, `clear`, `len`, `is_empty` and `is_full` functions to `priority_channel::{Sender, Receiver}`.
@ -19,20 +20,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Add `capacity`, `free_capacity`, `clear`, `len`, `is_empty` and `is_full` functions to `PubSubChannel`.
- Made `PubSubBehavior` sealed
- If you called `.publish_immediate(...)` on the queue directly before, then now call `.immediate_publisher().publish_immediate(...)`
- Add OnceLock sync primitive.
- Add constructor for DynamicChannel
- Add ready_to_receive functions to Channel and Receiver.
- Add `OnceLock` sync primitive.
- Add constructor for `DynamicChannel`
- Add ready_to_receive functions to `Channel` and `Receiver`.
## 0.5.0 - 2023-12-04
- Add a PriorityChannel.
- Remove nightly and unstable-traits features in preparation for 1.75.
- Upgrade heapless to 0.8.
- Upgrade static-cell to 2.0.
- Add a `PriorityChannel`.
- Remove `nightly` and `unstable-traits` features in preparation for 1.75.
- Upgrade `heapless` to 0.8.
- Upgrade `static-cell` to 2.0.
## 0.4.0 - 2023-10-31
- Re-add impl_trait_projections
- Re-add `impl_trait_projections`
- switch to `embedded-io 0.6`
## 0.3.0 - 2023-09-14

View File

@ -104,6 +104,7 @@ impl<T> Mutex<raw::CriticalSectionRawMutex, T> {
impl<T> Mutex<raw::NoopRawMutex, T> {
/// Borrows the data
#[allow(clippy::should_implement_trait)]
pub fn borrow(&self) -> &T {
let ptr = self.data.get() as *const T;
unsafe { &*ptr }

View File

@ -138,7 +138,7 @@ impl<M: RawMutex, T> From<T> for Mutex<M, T> {
impl<M, T> Default for Mutex<M, T>
where
M: RawMutex,
T: ?Sized + Default,
T: Default,
{
fn default() -> Self {
Self::new(Default::default())

View File

@ -27,8 +27,8 @@ pub use subscriber::{DynSubscriber, Subscriber};
///
/// - With [Pub::publish()] the publisher has to wait until there is space in the internal message queue.
/// - With [Pub::publish_immediate()] the publisher doesn't await and instead lets the oldest message
/// in the queue drop if necessary. This will cause any [Subscriber] that missed the message to receive
/// an error to indicate that it has lagged.
/// in the queue drop if necessary. This will cause any [Subscriber] that missed the message to receive
/// an error to indicate that it has lagged.
///
/// ## Example
///