-
Notifications
You must be signed in to change notification settings - Fork 13.6k
update Atomic*::from_ptr
and Atomic*::as_ptr
docs
#144072
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
rustbot has assigned @Mark-Simulacrum. Use |
library/core/src/sync/atomic.rs
Outdated
@@ -1246,7 +1246,7 @@ impl AtomicBool { | |||
/// atomic types work with interior mutability. All modifications of an atomic change the value | |||
/// through a shared reference, and can do so safely as long as they use atomic operations. Any | |||
/// use of the returned raw pointer requires an `unsafe` block and still has to uphold the same | |||
/// restriction: operations on it must be atomic. | |||
/// restriction: no data races and no mixed-size accesses. |
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.
Can we instead alter this to point at the memory model section that has more words about this? I like the wording in the from_ptr methods.
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.
It's restriction in [Memory model for atomic accesses].
now.
@rustbot ready
@bors r+ |
update `Atomic*::from_ptr` and `Atomic*::as_ptr` docs Since rust-lang#128778, it's allowed to perform atomic read and non-atomic read on the same atomic at the same time. Update the `Atomic*::from_ptr` and `Atomic*::as_ptr` documentation to remove expressions such as `not allowed to mix atomic and non-atomic accesses`. see also [std::sync::atomic](https://doc.rust-lang.org/std/sync/atomic/index.html#memory-model-for-atomic-accesses)
Rollup of 7 pull requests Successful merges: - #144072 (update `Atomic*::from_ptr` and `Atomic*::as_ptr` docs) - #144151 (`tests/ui/issues/`: The Issues Strike Back [1/N]) - #144300 (Clippy fixes for miropt-test-tools) - #144399 (Add a ratchet for moving all standard library tests to separate packages) - #144472 (str: Mark unstable `round_char_boundary` feature functions as const) - #144503 (Various refactors to the codegen coordinator code (part 3)) - #144530 (coverage: Infer `instances_used` from `pgo_func_name_var_map`) r? `@ghost` `@rustbot` modify labels: rollup
@@ -1246,7 +1246,7 @@ impl AtomicBool { | |||
/// atomic types work with interior mutability. All modifications of an atomic change the value | |||
/// through a shared reference, and can do so safely as long as they use atomic operations. Any | |||
/// use of the returned raw pointer requires an `unsafe` block and still has to uphold the same | |||
/// restriction: operations on it must be atomic. | |||
/// restriction in [Memory model for atomic accesses]. |
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.
This doesn't sound like a sentence to me? "restriction in Memory model" is not grammatical, and also oddly capitalized.
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.
It's a title, so I thought it was appropriate to preserve the capitalization. The existing documentation for from_ptr
uses You must adhere to the [Memory model for atomic accesses]
and also uses capital letters.
Do you have any suggestions?
(This got rolled-up so fixing the wording might need a new PR) |
Since #128778, it's allowed to perform atomic read and non-atomic read on the same atomic at the same time. Update the
Atomic*::from_ptr
andAtomic*::as_ptr
documentation to remove expressions such asnot allowed to mix atomic and non-atomic accesses
.see also std::sync::atomic