-
Notifications
You must be signed in to change notification settings - Fork 13k
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
Add doc comments about safest way to initialize a vector of zeros #54860
Conversation
r? @shepmaster (rust_highfive has picked a reviewer for you, use r? to override) |
I don't know if this is something we wish to guarantee, especially the bits about "previously zeroed memory is requested from the operating system". |
Yeah it's not likely to be the case on all systems, but I would like to somehow convey how this macro operates under the hood. |
Thanks for the PR! I don't think we need to have the term "safest" in the description as this isn't any safer than other mechanisms, and I agree with @shepmaster that we shouldn't try to make any guarantees about where memory comes from. I think it may be best if we instead say that this strategy is an optimized way to initialize with zeros but not go too much into the details about what the optimization is. |
Is there anything we can add that will let users know that they should use the macro instead of the other options when initializing with zeros? |
How about this?
More weasely and also adds it to the code examples in case someone doesn't read the prose. |
@bors: r+ rollup |
📌 Commit 1e584bf has been approved by |
Add doc comments about safest way to initialize a vector of zeros This adds more information about the vec! macro as discussed in rust-lang#54628. I think this is a good starting point, but I think additional detail is needed so that we can explain why vec! is safer than the alternatives.
Add doc comments about safest way to initialize a vector of zeros This adds more information about the vec! macro as discussed in rust-lang#54628. I think this is a good starting point, but I think additional detail is needed so that we can explain why vec! is safer than the alternatives.
Add doc comments about safest way to initialize a vector of zeros This adds more information about the vec! macro as discussed in rust-lang#54628. I think this is a good starting point, but I think additional detail is needed so that we can explain why vec! is safer than the alternatives.
Add doc comments about safest way to initialize a vector of zeros This adds more information about the vec! macro as discussed in rust-lang#54628. I think this is a good starting point, but I think additional detail is needed so that we can explain why vec! is safer than the alternatives.
Rollup of 16 pull requests Successful merges: - #54755 (Documents reference equality by address (#54197)) - #54811 (During rustc bootstrap, make default for `optimize` independent of `debug`) - #54825 (NLL says "borrowed content" instead of more precise "dereference of raw pointer") - #54860 (Add doc comments about safest way to initialize a vector of zeros) - #54869 (Fix mobile docs) - #54891 (Fix tracking issue for Once::is_completed) - #54913 (doc fix: it's auto traits that make for automatic implementations) - #54920 (Fix handling of #[must_use] on unit and uninhabited types) - #54932 (A handful of random string-related improvements) - #54936 (impl Eq+Hash for TyLayout) - #54950 (std: Synchronize global allocator on wasm32) - #54956 ("(using ..." doesn't have the matching ")") - #54958 (add a macro for static (compile-time) assertions) - #54967 (Remove incorrect span for second label inner macro invocation) - #54983 (Fix slice's benchmarks) - #54989 (Fix spelling in the documentation to htmldocck.py) Failed merges: r? @ghost
This adds more information about the vec! macro as discussed in #54628. I think this is a good starting point, but I think additional detail is needed so that we can explain why vec! is safer than the alternatives.