rustc: Prevent collisions in names of closures
rustc: Prevent collisions in names of closures

This commit goes back to using `gensym` to generate unique tokens to put into
the names of closures, allowing closures to be able to get demangled in
backtraces.

Closes #12400

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