auto merge of #15229 : steveklabnik/rust/if, r=cmr
auto merge of #15229 : steveklabnik/rust/if, r=cmr

Whew. So much here! Feedback very welcome.

This is the first part where we actually start learning things. I'd like to think I struck a good balance of explaining enough details, without getting too bogged down, and without being confusing... but of course I'd think that. :wink: 

As I mention in the commit comment, We probably want to move the guessing game to the rust-lang org, rather than just having it on my GitHub. Or, I could put the code inline. I think it'd be neat to have it as a project, so people can pull it down with Cargo. Until we make that decision, I'll just leave this here.

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