auto merge of #13241 : stepancheg/rust/push-all, r=alexcrichton
auto merge of #13241 : stepancheg/rust/push-all, r=alexcrichton

* push_all* operations should reserve capacity before pushing data to avoid unnecessary reallocations
* reserve_exact should never shrink, as specified in documentation

jashank/rust,sae-bom/rust,rprichard/rust,ebfull/rand,cllns/rust,aidancully/rust,reem/rust,pczarn/rust,AerialX/rust,zaeleus/rust,rohitjoshi/rust,mihneadb/rust,aturon/rust,miniupnp/rust,XMPPwocky/rust,miniupnp/rust,pshc/rust,reem/rust,cllns/rust,huonw/rand,barosl/rust,richo/rust,XMPPwocky/rust,jroesch/rust,aidancully/rust,emk/rust,0x73/rust,jashank/rust,robertg/rust,quornian/rust,dwillmer/rust,ruud-v-a/rust,GBGamer/rust,bombless/rust,servo/rust,dinfuehr/rust,untitaker/rust,servo/rust,miniupnp/rust,XMPPwocky/rust,gifnksm/rust,pczarn/rust,0x73/rust,waynenilsen/rand,rprichard/rust,carols10cents/rust,stepancheg/rust-ide-rust,pshc/rust,aepsil0n/rust,nwin/rust,robertg/rust,andars/rust,servo/rust,dwillmer/rust,rohitjoshi/rust,hauleth/rust,pythonesque/rust,nwin/rust,graydon/rust,ktossell/rust,miniupnp/rust,omasanori/rust,carols10cents/rust,victorvde/rust,mdinger/rust,cllns/rust,hauleth/rust,pythonesque/rust,mvdnes/rust,servo/rust,untitaker/rust,krzysz00/rust,krzysz00/rust,KokaKiwi/rust,jroesch/rust,nham/rust,bluss/rand,miniupnp/rust,bombless/rust,jbclements/rust,ejjeong/rust,mihneadb/rust,mahkoh/rust,zaeleus/rust,philyoon/rust,zubron/rust,graydon/rust,P1start/rust,stepancheg/rust-ide-rust,kimroen/rust,kwantam/rust,mdinger/rust,avdi/rust,omasanori/rust,miniupnp/rust,graydon/rust,dwillmer/rust,dinfuehr/rust,pelmers/rust,philyoon/rust,vhbit/rust,jashank/rust,TheNeikos/rust,hauleth/rust,KokaKiwi/rust,richo/rust,P1start/rust,zaeleus/rust,defuz/rust,avdi/rust,P1start/rust,AerialX/rust,krzysz00/rust,gifnksm/rust,Ryman/rust,victorvde/rust,untitaker/rust,jbclements/rust,l0kod/rust,barosl/rust,l0kod/rust,kimroen/rust,andars/rust,pythonesque/rust,rprichard/rust,GrahamDennis/rand,GBGamer/rust,zubron/rust,0x73/rust,aneeshusa/rust,reem/rust,barosl/rust,AerialX/rust-rt-minimal,richo/rust,zachwick/rust,pczarn/rust,krzysz00/rust,carols10cents/rust,jashank/rust,emk/rust,KokaKiwi/rust,jbclements/rust,defuz/rust,ebfull/rust,untitaker/rust,pshc/rust,ebfull/rust,omasanori/rust,mdinger/rust,graydon/rust,mvdnes/rust,defuz/rust,shepmaster/rand,ejjeong/rust,pelmers/rust,mdinger/rust,Ryman/rust,jroesch/rust,quornian/rust,TheNeikos/rust,quornian/rust,jashank/rust,richo/rust,aneeshusa/rust,mihneadb/rust,pshc/rust,jroesch/rust,TheNeikos/rust,P1start/rust,jroesch/rust,sae-bom/rust,Ryman/rust,XMPPwocky/rust,GBGamer/rust,jashank/rust,Ryman/rust,zachwick/rust,aneeshusa/rust,miniupnp/rust,l0kod/rust,servo/rust,nham/rust,barosl/rust,GBGamer/rust,gifnksm/rust,AerialX/rust,servo/rust,ktossell/rust,ejjeong/rust,andars/rust,l0kod/rust,jroesch/rust,ebfull/rust,defuz/rust,nham/rust,andars/rust,pshc/rust,kwantam/rust,erickt/rust,nwin/rust,defuz/rust,aepsil0n/rust,GBGamer/rust,aidancully/rust,zubron/rust,pythonesque/rust,zachwick/rust,sae-bom/rust,zubron/rust,stepancheg/rust-ide-rust,sae-bom/rust,philyoon/rust,pshc/rust,aturon/rust,erickt/rust,hauleth/rust,pczarn/rust,pelmers/rust,l0kod/rust,GBGamer/rust,jbclements/rust,robertg/rust,carols10cents/rust,pshc/rust,erickt/rust,rprichard/rust,robertg/rust,victorvde/rust,aneeshusa/rust,nwin/rust,jbclements/rust,XMPPwocky/rust,ktossell/rust,carols10cents/rust,mahkoh/rust,pelmers/rust,mihneadb/rust,aidancully/rust,dwillmer/rust,zaeleus/rust,emk/rust,kwantam/rust,stepancheg/rust-ide-rust,jbclements/rust,mihneadb/rust,seanrivera/rust,KokaKiwi/rust,nham/rust,aturon/rust,richo/rust,dwillmer/rust,jashank/rust,nwin/rust,bhickey/rand,mihneadb/rust,mdinger/rust,carols10cents/rust,P1start/rust,stepancheg/rust-ide-rust,dwillmer/rust,seanrivera/rust,zubron/rust,quornian/rust,vhbit/rust,TheNeikos/rust,robertg/rust,ebfull/rust,seanrivera/rust,ruud-v-a/rust,stepancheg/rust-ide-rust,rohitjoshi/rust,ktossell/rust,robertg/rust,quornian/rust,zachwick/rust,miniupnp/rust,bombless/rust,omasanori/rust,ejjeong/rust,sae-bom/rust,krzysz00/rust,rprichard/rust,jbclements/rust,rprichard/rust,emk/rust,pczarn/rust,pelmers/rust,bombless/rust-docs-chinese,aturon/rust,AerialX/rust,quornian/rust,kimroen/rust,avdi/rust,servo/rust,rohitjoshi/rust,victorvde/rust,AerialX/rust,AerialX/rust-rt-minimal,AerialX/rust-rt-minimal,ktossell/rust,kwantam/rust,untitaker/rust,ebfull/rust,erickt/rust,graydon/rust,aneeshusa/rust,reem/rust,arthurprs/rand,aturon/rust,rohitjoshi/rust,cllns/rust,AerialX/rust,0x73/rust,nham/rust,barosl/rust,Ryman/rust,reem/rust,reem/rust,victorvde/rust,zachwick/rust,ktossell/rust,philyoon/rust,mvdnes/rust,bombless/rust,aepsil0n/rust,erickt/rust,vhbit/rust,Ryman/rust,dinfuehr/rust,jroesch/rust,avdi/rust,kwantam/rust,kimroen/rust,dinfuehr/rust,gifnksm/rust,seanrivera/rust,nwin/rust,jbclements/rust,philyoon/rust,barosl/rust,graydon/rust,quornian/rust,dwillmer/rust,0x73/rust,hauleth/rust,aepsil0n/rust,vhbit/rust,XMPPwocky/rust,GBGamer/rust,GBGamer/rust,l0kod/rust,zachwick/rust,nwin/rust,untitaker/rust,ruud-v-a/rust,nham/rust,AerialX/rust-rt-minimal,zubron/rust,rohitjoshi/rust,aidancully/rust,ruud-v-a/rust,mahkoh/rust,kimroen/rust,omasanori/rust,P1start/rust,zaeleus/rust,aepsil0n/rust,andars/rust,kimroen/rust,zubron/rust,cllns/rust,vhbit/rust,zubron/rust,P1start/rust,jashank/rust,emk/rust,TheNeikos/rust,mvdnes/rust,aturon/rust,vhbit/rust,victorvde/rust,aturon/rust,defuz/rust,pythonesque/rust,pshc/rust,l0kod/rust,pythonesque/rust,AerialX/rust-rt-minimal,vhbit/rust,AerialX/rust-rt-minimal,vhbit/rust,0x73/rust,KokaKiwi/rust,pczarn/rust,ruud-v-a/rust,avdi/rust,seanrivera/rust,aepsil0n/rust,achanda/rand,emk/rust,erickt/rust,jbclements/rust,zaeleus/rust,kwantam/rust,TheNeikos/rust,mdinger/rust,l0kod/rust,jroesch/rust,pythonesque/rust,dinfuehr/rust,aneeshusa/rust,ejjeong/rust,ruud-v-a/rust,bombless/rust,mahkoh/rust,ejjeong/rust,mahkoh/rust,pczarn/rust,sae-bom/rust,mvdnes/rust,gifnksm/rust,KokaKiwi/rust,ktossell/rust,dwillmer/rust,gifnksm/rust,philyoon/rust,nham/rust,avdi/rust,emk/rust,Ryman/rust,nwin/rust,erickt/rust,omasanori/rust,andars/rust,bombless/rust,seanrivera/rust,cllns/rust,hauleth/rust,richo/rust,stepancheg/rust-ide-rust,barosl/rust,pelmers/rust,ebfull/rust,0x73/rust,kimroen/rust,krzysz00/rust,aidancully/rust,mahkoh/rust,retep998/rand,dinfuehr/rust,mvdnes/rust