update Atomic*::from_ptr and Atomic*::as_ptr docs#144072
update Atomic*::from_ptr and Atomic*::as_ptr docs#144072bors merged 1 commit intorust-lang:masterfrom
Atomic*::from_ptr and Atomic*::as_ptr docs#144072Conversation
|
rustbot has assigned @Mark-Simulacrum. Use |
library/core/src/sync/atomic.rs
Outdated
| /// 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.
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.
It's restriction in [Memory model for atomic accesses]. now.
@rustbot ready
|
@bors r+ |
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
| /// 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.
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.
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?
There was a problem hiding this comment.
Something like "Any use of the returned raw pointer requires an unsafe block and still has to uphold the requirements of the [memory model]."
|
(This got rolled-up so fixing the wording might need a new PR) |
Rollup merge of #144072 - usamoi:docs, r=Mark-Simulacrum update `Atomic*::from_ptr` and `Atomic*::as_ptr` docs 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` 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)
fix `Atomic*::as_ptr` wording r? `@RalfJung` cc rust-lang#144072
fix `Atomic*::as_ptr` wording r? ``@RalfJung`` cc rust-lang#144072
fix `Atomic*::as_ptr` wording r? ```@RalfJung``` cc rust-lang#144072
fix `Atomic*::as_ptr` wording r? ````@RalfJung```` cc rust-lang#144072
fix `Atomic*::as_ptr` wording r? `````@RalfJung````` cc rust-lang#144072
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)
fix `Atomic*::as_ptr` wording r? `````@RalfJung````` cc rust-lang#144072
fix `Atomic*::as_ptr` wording r? `````@RalfJung````` cc rust-lang/rust#144072
Rollup of 7 pull requests Successful merges: - rust-lang/rust#144072 (update `Atomic*::from_ptr` and `Atomic*::as_ptr` docs) - rust-lang/rust#144151 (`tests/ui/issues/`: The Issues Strike Back [1/N]) - rust-lang/rust#144300 (Clippy fixes for miropt-test-tools) - rust-lang/rust#144399 (Add a ratchet for moving all standard library tests to separate packages) - rust-lang/rust#144472 (str: Mark unstable `round_char_boundary` feature functions as const) - rust-lang/rust#144503 (Various refactors to the codegen coordinator code (part 3)) - rust-lang/rust#144530 (coverage: Infer `instances_used` from `pgo_func_name_var_map`) r? `@ghost` `@rustbot` modify labels: rollup
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_ptrandAtomic*::as_ptrdocumentation to remove expressions such asnot allowed to mix atomic and non-atomic accesses.see also std::sync::atomic