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
This commit is contained in:
Camelid 2021-01-09 12:35:47 -08:00 committed by GitHub
parent c8915eebea
commit befd153098
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -990,6 +990,9 @@ pub fn truncate(&mut self, len: usize) {
// 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;
}