@@ -22,6 +22,12 @@ use syntax::ast::{deref, expr, expr_addr_of, expr_assign, expr_assign_op};
22
22
use syntax:: ast:: { expr_binary, expr_call, expr_copy, expr_field, expr_index} ;
23
23
use syntax:: ast:: { expr_match, expr_method_call, expr_paren, expr_path} ;
24
24
use syntax:: ast:: { expr_swap, expr_unary, neg, node_id, not, pat, pat_ident} ;
25
+ use syntax:: ast:: { expr_vstore, expr_vec, expr_rec, expr_tup, expr_lit} ;
26
+ use syntax:: ast:: { expr_cast, expr_if, expr_while, expr_loop, expr_fn} ;
27
+ use syntax:: ast:: { expr_fn_block, expr_loop_body, expr_do_body, expr_block} ;
28
+ use syntax:: ast:: { expr_unary_move, expr_fail, expr_break, expr_again} ;
29
+ use syntax:: ast:: { expr_ret, expr_log, expr_assert, expr_mac, expr_struct} ;
30
+ use syntax:: ast:: { expr_repeat} ;
25
31
use syntax:: ast:: { sty_uniq, sty_value, uniq} ;
26
32
use syntax:: ast:: { fn_decl, blk} ;
27
33
use syntax:: visit;
@@ -225,9 +231,16 @@ fn compute_modes_for_expr(expr: @expr,
225
231
compute_modes_for_expr ( head, head_cx, v) ;
226
232
}
227
233
}
228
- _ => {
229
- // XXX: Spell out every expression above so when we add them we
230
- // don't forget to update this file.
234
+ // Spell out every remaining expression so we don't forget to
235
+ // update this code if we add a new variant.
236
+ // (Maybe a macro to do this would be nice...)
237
+ expr_vstore( * ) | expr_vec( * ) | expr_rec( * ) | expr_tup( * ) |
238
+ expr_lit( * ) | expr_cast( * ) | expr_if( * ) | expr_while( * ) |
239
+ expr_loop( * ) | expr_fn( * ) | expr_fn_block( * ) |
240
+ expr_loop_body( * ) | expr_do_body( * ) | expr_block( * ) |
241
+ expr_unary_move( * ) | expr_fail( * ) | expr_break( * ) |
242
+ expr_again( * ) | expr_ret( * ) | expr_log( * ) | expr_assert( * ) |
243
+ expr_mac( * ) | expr_struct( * ) | expr_repeat( * ) => {
231
244
visit:: visit_expr ( expr, cx, v)
232
245
}
233
246
}
0 commit comments