async-rs / async-rs/async-std

[tracking] sync

Open
#217 8 comments 0 reactions 0 assignees View on GitHub
api design
Dominant language
Rust
Stars
4.1k
Forks
339
PR merge metrics
No merged PRs in 30d

Description

This is a tracking issue for feature parity with [`std::sync`](https://doc.rust-lang.org/std/sync/index.html). Not everything needs to be ported, but this is a full overview of what's in `std::sync` and `async_std::sync`.

@stjepang could you take a look and cross off what's not needed? I think we have most of it except maybe `Barrier`, `Condvar`, and `Arc`. Thanks!

## Structs
- [x] `sync::Arc`
- [ ] `sync::Condvar`
- [x] `sync::Mutex`
- [x] `sync::Barrier`
- [x] `sync::BarrierWaitResult`
- [x] `sync::MutexGuard`
- [ ] `sync::Once`
- [x] `sync::PoisonError` (not required)
- [x] `sync::RwLock`
- [x] `sync::RwLockReadGuard`
- [x] `sync::RwLockWriteGuard`
- [ ] `sync::WaitTimeoutResult`
- [x] `sync::Weak`

## Enums
- [x] `sync::TryLockError` (not required)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.