-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Redo the docs for Vec::set_len #56425
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Conversation
Inspired by the recent conversation on IRLO.
r? @bluss (rust_highfive has picked a reviewer for you, use r? to override) |
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.
Some improvement suggestions. :)
Add @Centril's comment Co-Authored-By: scottmcm <scottmcm@users.noreply.github.com>
@Centril I'm still on vacation without access to my computer. Can you make proposed changes here so I can apply them from my phone, like I just did your other one? |
@scottmcm sure, I'll get to it in a bit. |
@scottmcm made a PR instead: scottmcm#1 @bors delegate+ |
✌️ @scottmcm can now approve this pull request |
Explain safety for `vec.set_len(0)`
@bors r+ rollup |
📌 Commit 986e49d has been approved by |
⌛ Testing commit 986e49d with merge 5d0a33d1dc1ad0dec2dfed9680ae3633ec84ad6f... |
💔 Test failed - status-appveyor |
@bors retry |
…entril Redo the docs for Vec::set_len Inspired by the [recent conversation on IRLO](https://internals.rust-lang.org/t/make-vec-set-len-enforce-the-len-cap-invariant/8927/23?u=scottmcm). This is just my first stab at this; suggestions welcome.
Rollup of 26 pull requests Successful merges: - #56425 (Redo the docs for Vec::set_len) - #56906 (Issue #56905) - #57042 (Don't call `FieldPlacement::count` when count is too large) - #57175 (Stabilize `let` bindings and destructuring in constants and const fn) - #57192 (Change std::error::Error trait documentation to talk about `source` instead of `cause`) - #57296 (Fixed the link to the ? operator) - #57368 (Use CMAKE_{C,CXX}_COMPILER_LAUNCHER for ccache) - #57400 (Rustdoc: update Source Serif Pro and replace Heuristica italic) - #57417 (rustdoc: use text-based doctest parsing if a macro is wrapping main) - #57433 (Add link destination for `read-ownership`) - #57434 (Remove `CrateNum::Invalid`.) - #57441 (Supporting backtrace for x86_64-fortanix-unknown-sgx.) - #57450 (actually take a slice in this example) - #57459 (Reference tracking issue for inherent associated types in diagnostic) - #57463 (docs: Fix some 'second-edition' links) - #57466 (Remove outdated comment) - #57493 (use structured suggestion when casting a reference) - #57498 (make note of one more normalization that Paths do) - #57499 (note that FromStr does not work for borrowed types) - #57505 (Remove submodule step from README) - #57510 (Add a profiles section to the manifest) - #57511 (Fix undefined behavior) - #57519 (Correct RELEASES.md for 1.32.0) - #57522 (don't unwrap unexpected tokens in `format!`) - #57530 (Fixing a typographical error.) - #57535 (Stabilise irrefutable if-let and while-let patterns) Failed merges: r? @ghost
In the time since this code was originally written, an update to the Vec docs clarified the rules of safety for Vec::set_len and require that the newly-accessible elements are already initialized. rust-lang/rust#56425
Inspired by the recent conversation on IRLO.
This is just my first stab at this; suggestions welcome.