@@ -570,29 +570,30 @@ pub fn trans_lang_call_with_type_params(bcx: @mut Block,
570
570
}
571
571
572
572
573
- struct CalleeTranslationVisitor ;
573
+ struct CalleeTranslationVisitor {
574
+ flag : bool ,
575
+ }
574
576
575
- impl Visitor < @ mut bool > for CalleeTranslationVisitor {
577
+ impl Visitor < ( ) > for CalleeTranslationVisitor {
576
578
577
- fn visit_item ( & mut self , _: @ast:: item , _: @ mut bool ) { }
579
+ fn visit_item ( & mut self , _: @ast:: item , _: ( ) ) { }
578
580
579
- fn visit_expr ( & mut self , e : @ast:: Expr , cx : @ mut bool ) {
581
+ fn visit_expr ( & mut self , e : @ast:: Expr , _ : ( ) ) {
580
582
581
- if !* cx {
583
+ if !self . flag {
582
584
match e. node {
583
- ast:: ExprRet ( _) => * cx = true ,
584
- _ => visit:: walk_expr ( self , e, cx ) ,
585
+ ast:: ExprRet ( _) => self . flag = true ,
586
+ _ => visit:: walk_expr ( self , e, ( ) ) ,
585
587
}
586
588
}
587
589
}
588
590
589
591
}
590
592
591
593
pub fn body_contains_ret ( body : & ast:: Block ) -> bool {
592
- let cx = @mut false ;
593
- let mut v = CalleeTranslationVisitor ;
594
- visit:: walk_block ( & mut v, body, cx) ;
595
- * cx
594
+ let mut v = CalleeTranslationVisitor { flag : false } ;
595
+ visit:: walk_block ( & mut v, body, ( ) ) ;
596
+ v. flag
596
597
}
597
598
598
599
pub fn trans_call_inner ( in_cx : @mut Block ,
0 commit comments