- Bump MSRV to 1.85. (#103)
- Use Waker::noop() to avoid some unsafe code. (#103)
- Fix typos in docs. (#89)
- Port to
event-listenerv5.0.0. (#74)
- Add a
forget()method for semaphore guards. (#73) - Increase MSRV to v1.60. (#75)
- Add missing methods for blocking on locking with types wrapped in
Arc(#71).
- Bump
event-listenerto version v4.0.0. (#69)
- Add a note to the documentation comparing this crate against
libstd's locks. (#58)
- Add a
Defaultimplementation forOnceCell(#63).
- Breaking: Add an enabled-by-default
stdfeature that allows using this crate without the standard library. (#43) - Support blocking and non-blocking operations on the same locks. (#56)
- Switch to a more efficient event notification mechanism. (#43)
- Fix a bug where the
SemaphoreGuard::acquire_arcfuture would busy wait under certain conditions (#42). - Add a
Semaphore::add_permits()function to increase the number of available permits on the semaphore (#44). - Make
RwLockReadGuardcovariant over its lifetime (#45) - Add
RwLockReadGuardArc,RwLockWriteGuardArc, and other reference counted guards for theRwLocktype (#47). - Loosen the
Send/Syncbounds on certain future types (#48). - Fix UB caused by the
MutexGuardArc::sourcefunction allowing the user to drop an object in a different thread than the one it was acquired in (#50). This is a breaking change, but in the name of soundness. Therefore it doesn't break any valid behavior. - Fix a bug where this crate would not compile properly on
wasm64(#51).
- Replace some
asyncblocks with manual futures (#34) - Remove our dependency on
futures-lite(#36) - Mark guard types with
#[clippy::has_significant_drop](#37)
- Add
OnceCell. (#27) - Support wasm64.
- Fix an issue where the future returned by
Mutex::lock_arc/Semaphore::acquire_archolds a reference toself. (#20, #21)
- Add WASM support. (#14)
- Merge all subcrates.
- Add functions to upgrade and downgrade
RwLockguards. - Make all constructors
const fn.
- Add
#![forbid(unsafe_code)].
- Update dependencies.
- Update crate description.
- Add
BarrierandSemaphore.
- Update crate description.
- Only re-export
async-mutexandasync-rwlock.
- Replace the implementation with
async-mutex.
- Replace
usize::MAXwithstd::usize::MAX.
- Update dependencies.
- Fix a deadlock issue.
- Fix some typos.
- Make locking fair.
- Add
LockGuard::source().
- Bump the
event-listenerversion. - Add tests.
- Update Cargo categories.
- Initial version