rustc: Add a type fold mechanism to the typechecker
rustc: Add a type fold mechanism to the typechecker

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