-
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
Redo the docs for Vec::set_len #56425
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.