File tree 1 file changed +10
-2
lines changed
1 file changed +10
-2
lines changed Original file line number Diff line number Diff line change @@ -690,11 +690,19 @@ pub fn noop_fold_expr(e: &Expr_, fld: @ast_fold) -> Expr_ {
690
690
ExprBreak ( ref opt_ident) => {
691
691
// FIXME #6993: add fold_name to fold.... then cut out the
692
692
// bogus Name->Ident->Name conversion.
693
- ExprBreak ( opt_ident. map_move ( |x| fld. fold_ident ( Ident :: new ( x) ) . name ) )
693
+ ExprBreak ( opt_ident. map_move ( |x| {
694
+ // FIXME #9129: Assigning the new ident to a temporary to work around codegen bug
695
+ let newx = Ident :: new ( x) ;
696
+ fld. fold_ident ( newx) . name
697
+ } ) )
694
698
}
695
699
ExprAgain ( ref opt_ident) => {
696
700
// FIXME #6993: add fold_name to fold....
697
- ExprAgain ( opt_ident. map_move ( |x| fld. fold_ident ( Ident :: new ( x) ) . name ) )
701
+ ExprAgain ( opt_ident. map_move ( |x| {
702
+ // FIXME #9129: Assigning the new ident to a temporary to work around codegen bug
703
+ let newx = Ident :: new ( x) ;
704
+ fld. fold_ident ( newx) . name
705
+ } ) )
698
706
}
699
707
ExprRet ( ref e) => {
700
708
ExprRet ( e. map_move ( |x| fld. fold_expr ( x) ) )
You can’t perform that action at this time.
0 commit comments