auto merge of #16517 : dotdash/rust/for_trunc, r=pcwalton
auto merge of #16517 : dotdash/rust/for_trunc, r=pcwalton

The discriminant for Option values is either 0 or 1, so we can just
truncate the value to an i1, which ends up as a no-op for Options
containing pointers.

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