rust/library/alloc
bors 1a7c203e7f Auto merge of #89123 - the8472:push_in_capacity, r=amanieu
add Vec::push_within_capacity - fallible, does not allocate

This method can serve several purposes. It

* is fallible
* guarantees that items in Vec aren't moved
* allows loops that do `reserve` and `push` separately to avoid pulling in the allocation machinery a second time in the `push` part which should make things easier on the optimizer
* eases the path towards `ArrayVec` a bit since - compared to `push()` - there are fewer questions around how it should be implemented

I haven't named it `try_push` because that should probably occupy a middle ground that will still try to reserve and only return an error in the unlikely OOM case.

resolves #84649
2022-10-09 21:02:33 +00:00
..
benches Optimized vec::IntoIter::next_chunk impl 2022-07-26 20:31:43 +02:00
src Auto merge of #89123 - the8472:push_in_capacity, r=amanieu 2022-10-09 21:02:33 +00:00
tests Add regression test for lifetimes in alloc internals autotraits 2022-10-05 12:15:17 -07:00
Cargo.toml Switch all libraries to the 2021 edition 2021-12-23 19:03:47 +08:00