@@ -288,6 +288,10 @@ pub trait Folder : Sized {
288
288
noop_fold_where_predicate ( where_predicate, self )
289
289
}
290
290
291
+ fn fold_vis ( & mut self , vis : Visibility ) -> Visibility {
292
+ noop_fold_vis ( vis, self )
293
+ }
294
+
291
295
fn new_id ( & mut self , i : NodeId ) -> NodeId {
292
296
i
293
297
}
@@ -992,7 +996,7 @@ pub fn noop_fold_impl_item<T: Folder>(i: ImplItem, folder: &mut T)
992
996
id : folder. new_id ( i. id ) ,
993
997
ident : folder. fold_ident ( i. ident ) ,
994
998
attrs : fold_attrs ( i. attrs , folder) ,
995
- vis : i. vis ,
999
+ vis : folder . fold_vis ( i. vis ) ,
996
1000
defaultness : i. defaultness ,
997
1001
node : match i. node {
998
1002
ast:: ImplItemKind :: Const ( ty, expr) => {
@@ -1082,7 +1086,7 @@ pub fn noop_fold_item_simple<T: Folder>(Item {id, ident, attrs, node, vis, span}
1082
1086
ident : folder. fold_ident ( ident) ,
1083
1087
attrs : fold_attrs ( attrs, folder) ,
1084
1088
node : node,
1085
- vis : vis,
1089
+ vis : folder . fold_vis ( vis) ,
1086
1090
span : folder. new_span ( span)
1087
1091
}
1088
1092
}
@@ -1100,7 +1104,7 @@ pub fn noop_fold_foreign_item<T: Folder>(ni: ForeignItem, folder: &mut T) -> For
1100
1104
ForeignItemKind :: Static ( folder. fold_ty ( t) , m)
1101
1105
}
1102
1106
} ,
1103
- vis : ni. vis ,
1107
+ vis : folder . fold_vis ( ni. vis ) ,
1104
1108
span : folder. new_span ( ni. span )
1105
1109
}
1106
1110
}
@@ -1391,6 +1395,16 @@ pub fn noop_fold_stmt<T: Folder>(Spanned {node, span}: Stmt, folder: &mut T)
1391
1395
}
1392
1396
}
1393
1397
1398
+ pub fn noop_fold_vis < T : Folder > ( vis : Visibility , folder : & mut T ) -> Visibility {
1399
+ match vis {
1400
+ Visibility :: Restricted { path, id } => Visibility :: Restricted {
1401
+ path : path. map ( |path| folder. fold_path ( path) ) ,
1402
+ id : folder. new_id ( id)
1403
+ } ,
1404
+ _ => vis,
1405
+ }
1406
+ }
1407
+
1394
1408
#[ cfg( test) ]
1395
1409
mod tests {
1396
1410
use std:: io;
0 commit comments