Fix bug in match checking
Fix bug in match checking

When `specialize`ing struct-like enum patterns, compare struct fields to
pattern fields, not pattern fields to pattern fields.

Closes #8351.

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