-
Notifications
You must be signed in to change notification settings - Fork 13.7k
Implementation: #[feature(nonpoison_once)]
#144653
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
base: master
Are you sure you want to change the base?
Conversation
r? @ChrisDenton rustbot has assigned @ChrisDenton. Use |
This comment has been minimized.
This comment has been minimized.
43b1e0c
to
b201b42
Compare
…ark-Simulacrum Implementation: `#[feature(nonpoison_rwlock)]` Tracking Issue: rust-lang#134645 This PR continues the effort made in rust-lang#144022 by adding the implementation of `nonpoison::rwlock`. Many of the changes here are similar to the changes made to implement `nonpoison::mutex`. The only real difference is that this PR includes a reorganizing of the existing `poison::rwlock` file that hopefully makes both variants more readable. ### Related PRs - `nonpoison_condvar` implementation: rust-lang#144651 - `nonpoison_once` implementation: rust-lang#144653
…ark-Simulacrum Implementation: `#[feature(nonpoison_rwlock)]` Tracking Issue: rust-lang#134645 This PR continues the effort made in rust-lang#144022 by adding the implementation of `nonpoison::rwlock`. Many of the changes here are similar to the changes made to implement `nonpoison::mutex`. The only real difference is that this PR includes a reorganizing of the existing `poison::rwlock` file that hopefully makes both variants more readable. ### Related PRs - `nonpoison_condvar` implementation: rust-lang#144651 - `nonpoison_once` implementation: rust-lang#144653
Sorry for the delay, I've not been keep up with reviews atm. I'll assign another reviewer. r? libs |
Rollup merge of #144648 - connortsui20:nonpoison_rwlock, r=Mark-Simulacrum Implementation: `#[feature(nonpoison_rwlock)]` Tracking Issue: #134645 This PR continues the effort made in #144022 by adding the implementation of `nonpoison::rwlock`. Many of the changes here are similar to the changes made to implement `nonpoison::mutex`. The only real difference is that this PR includes a reorganizing of the existing `poison::rwlock` file that hopefully makes both variants more readable. ### Related PRs - `nonpoison_condvar` implementation: #144651 - `nonpoison_once` implementation: #144653
☔ The latest upstream changes (presumably #145773) made this pull request unmergeable. Please resolve the merge conflicts. |
Adds the equivalent `nonpoison` types to the `poison::once` module. These types and implementations are gated under the `nonpoison_once` feature gate. Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Both implementations require poisoning support. Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
b201b42
to
2287b60
Compare
This PR was rebased onto a different master commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For reviewers: it might be good to compare this directly with the poison::once
module (with the additional reorganizations made in the first commit)
(for copy paste)
delta library/std/src/sync/poison/once.rs library/std/src/sync/nonpoison/once.rs
diff library/std/src/sync/poison/once.rs library/std/src/sync/nonpoison/once.rs
…acrum Implementation: `#[feature(nonpoison_rwlock)]` Tracking Issue: rust-lang/rust#134645 This PR continues the effort made in rust-lang/rust#144022 by adding the implementation of `nonpoison::rwlock`. Many of the changes here are similar to the changes made to implement `nonpoison::mutex`. The only real difference is that this PR includes a reorganizing of the existing `poison::rwlock` file that hopefully makes both variants more readable. ### Related PRs - `nonpoison_condvar` implementation: rust-lang/rust#144651 - `nonpoison_once` implementation: rust-lang/rust#144653
Tracking Issue: #134645
This PR continues the effort made in #144022 by adding the implementation of
nonpoison::once
.Many of the changes here are similar to the changes made to implement
nonpoison::mutex
.Note that even though there were FIXMEs for changing
OnceLock
andLazyLock
to use thenonpoison
variant, that is not correct as both rely on poisoning behavior to operate correctly.Related PRs
nonpoison_rwlock
implementation: Implementation:#[feature(nonpoison_rwlock)]
#144648nonpoison_condvar
implementation: Implementation:#[feature(nonpoison_condvar)]
#144651