auto merge of #16728 : bluss/rust/zip-next-back, r=alexcrichton
auto merge of #16728 : bluss/rust/zip-next-back, r=alexcrichton

Use ExactSize::len() and defer to its decisions about overly defensive
assertions. Remove the length double-check and simply put a failure
case if the Zip finds an uneven end in .next_back().

Fixing this up since I think I wrote this, and it's been known to
confuse rusties (PR #15886).

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