-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Improve Arc
and Rc
documentation
#93109
Conversation
A number of trait implementations incorrectly claimed to be zero cost.
r? @m-ou-se (rust-highfive has picked a reviewer for you, use r? to override) |
This comment has been minimized.
This comment has been minimized.
Apparently I was wrong when I thought I knew how to run the tests locally... |
I suspect the author of that used get_mut_unchecked rather than get_mut, to avoid unnecssary checks and panicking code in (For Rc the compiler can easily optimize the check out, but that (currently) doesn't work with Arc once atomics are involved.) In general, the Anyway, I agree that trading @bors r+ rollup |
📌 Commit 4de7618 has been approved by |
@m-ou-se oh yeah, I understood the point of doing it that way, but this is also sort of a separate issue in that deferred initialization within |
…askrgr Rollup of 10 pull requests Successful merges: - rust-lang#91965 (Add more granular `--exclude` in `x.py`) - rust-lang#92467 (Ensure that early-bound function lifetimes are always 'local') - rust-lang#92586 (Set the allocation MIN_ALIGN for espidf to 4.) - rust-lang#92835 (Improve error message for key="value" cfg arguments.) - rust-lang#92843 (Improve string concatenation suggestion) - rust-lang#92963 (Implement tuple array diagnostic) - rust-lang#93046 (Use let_else in even more places) - rust-lang#93109 (Improve `Arc` and `Rc` documentation) - rust-lang#93134 (delete `Stdin::split` forwarder) - rust-lang#93139 (rustdoc: fix overflow-wrap for table layouts) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
This makes two changes (I can split the PR if necessary, but the changes are pretty small):
Arc<T>: From<Box<T>>
impl which is definitely not free, especially for large dynamically sizedT
.unsafe
. This has been reduced.