Change typestate to use visit instead of walk
Change typestate to use visit instead of walk

Typestate was failing to check some code because if it saw an item,
it would quit immediately. This was to avoid checking nested items
in the same context as the lexically enclosing item, but it was
having the wrong effect: not checking the code after the item at all.

Fixed by switching to visit and skipping over items in a proper
nested fashion. Closes #668.

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