rollup merge of #19330: csouth3/binaryheap-iter
rollup merge of #19330: csouth3/binaryheap-iter

There's no reason that BinaryHeap's iterator can't implement DoubleEnded and ExactSize, so add these implementations.

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