@@ -160,6 +160,9 @@ type ast_fold[ENV] =
160
160
( fn ( & ENV e, & span sp,
161
161
ann a) -> @pat) fold_pat_wild,
162
162
163
+ ( fn ( & ENV e, & span sp,
164
+ @ast. lit lit, ann a) -> @pat) fold_pat_lit,
165
+
163
166
( fn ( & ENV e, & span sp,
164
167
ident i, def_id did, ann a) -> @pat) fold_pat_bind,
165
168
@@ -421,6 +424,9 @@ fn fold_pat[ENV](&ENV env, ast_fold[ENV] fld, @ast.pat p) -> @ast.pat {
421
424
422
425
alt ( p. node) {
423
426
case ( ast. pat_wild( ?t) ) { ret fld. fold_pat_wild( env_, p. span, t) ; }
427
+ case ( ast. pat_lit( ?lt, ?t) ) {
428
+ ret fld. fold_pat_lit( env_, p. span, lt, t) ;
429
+ }
424
430
case ( ast. pat_bind( ?id, ?did, ?t) ) {
425
431
ret fld. fold_pat_bind( env_, p. span, id, did, t) ;
426
432
}
@@ -1122,6 +1128,10 @@ fn identity_fold_pat_wild[ENV](&ENV e, &span sp, ann a) -> @pat {
1122
1128
ret @respan( sp, ast. pat_wild( a) ) ;
1123
1129
}
1124
1130
1131
+ fn identity_fold_pat_lit[ ENV ] ( & ENV e, & span sp, @ast. lit lit, ann a) -> @pat {
1132
+ ret @respan( sp, ast. pat_lit( lit, a) ) ;
1133
+ }
1134
+
1125
1135
fn identity_fold_pat_bind[ ENV ] ( & ENV e, & span sp, ident i, def_id did, ann a)
1126
1136
-> @pat {
1127
1137
ret @respan( sp, ast. pat_bind( i, did, a) ) ;
@@ -1373,6 +1383,7 @@ fn new_identity_fold[ENV]() -> ast_fold[ENV] {
1373
1383
fold_decl_item = bind identity_fold_decl_item[ ENV ] ( _, _, _) ,
1374
1384
1375
1385
fold_pat_wild = bind identity_fold_pat_wild[ ENV ] ( _, _, _) ,
1386
+ fold_pat_lit = bind identity_fold_pat_lit[ ENV ] ( _, _, _, _) ,
1376
1387
fold_pat_bind = bind identity_fold_pat_bind[ ENV ] ( _, _, _, _, _) ,
1377
1388
fold_pat_tag = bind identity_fold_pat_tag[ ENV ] ( _, _, _, _, _, _) ,
1378
1389
0 commit comments