auto merge of #20942 : nagisa/rust/shrl-impls, r=nikomatsakis
auto merge of #20942 : nagisa/rust/shrl-impls, r=nikomatsakis

This is only relevant to the code that uses generics such as

    fn magic<T: Shl>(a: T) { a << 10u8; }

r? @nikomatsakis 

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