Rollup merge of #80857 - camelid:vec-truncate-comment, r=scottmcm

Add comment to `Vec::truncate` explaining `>` vs `>=`

Hopefully this will prevent people from continuing to ask about this
over and over again :)

See [this Zulip discussion][1] for more.

[1]: https://rust-lang.zulipchat.com/#narrow/stream/219381-t-libs/topic/Vec.3A.3Atruncate.20implementation

r? ``@scottmcm``
This commit is contained in:
Yuki Okushi 2021-01-10 16:56:07 +09:00 committed by GitHub
commit 19b8c65e4e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -990,6 +990,9 @@ impl<T, A: Allocator> Vec<T, A> {
// such that no value will be dropped twice in case `drop_in_place`
// were to panic once (if it panics twice, the program aborts).
unsafe {
// Note: It's intentional that this is `>` and not `>=`.
// Changing it to `>=` has negative performance
// implications in some cases. See #78884 for more.
if len > self.len {
return;
}