@@ -288,6 +288,10 @@ pub trait Folder : Sized {
288288 noop_fold_where_predicate ( where_predicate, self )
289289 }
290290
291+ fn fold_vis ( & mut self , vis : Visibility ) -> Visibility {
292+ noop_fold_vis ( vis, self )
293+ }
294+
291295 fn new_id ( & mut self , i : NodeId ) -> NodeId {
292296 i
293297 }
@@ -992,7 +996,7 @@ pub fn noop_fold_impl_item<T: Folder>(i: ImplItem, folder: &mut T)
992996 id : folder. new_id ( i. id ) ,
993997 ident : folder. fold_ident ( i. ident ) ,
994998 attrs : fold_attrs ( i. attrs , folder) ,
995- vis : i. vis ,
999+ vis : folder . fold_vis ( i. vis ) ,
9961000 defaultness : i. defaultness ,
9971001 node : match i. node {
9981002 ast:: ImplItemKind :: Const ( ty, expr) => {
@@ -1082,7 +1086,7 @@ pub fn noop_fold_item_simple<T: Folder>(Item {id, ident, attrs, node, vis, span}
10821086 ident : folder. fold_ident ( ident) ,
10831087 attrs : fold_attrs ( attrs, folder) ,
10841088 node : node,
1085- vis : vis,
1089+ vis : folder . fold_vis ( vis) ,
10861090 span : folder. new_span ( span)
10871091 }
10881092}
@@ -1100,7 +1104,7 @@ pub fn noop_fold_foreign_item<T: Folder>(ni: ForeignItem, folder: &mut T) -> For
11001104 ForeignItemKind :: Static ( folder. fold_ty ( t) , m)
11011105 }
11021106 } ,
1103- vis : ni. vis ,
1107+ vis : folder . fold_vis ( ni. vis ) ,
11041108 span : folder. new_span ( ni. span )
11051109 }
11061110}
@@ -1391,6 +1395,16 @@ pub fn noop_fold_stmt<T: Folder>(Spanned {node, span}: Stmt, folder: &mut T)
13911395 }
13921396}
13931397
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+
13941408#[ cfg( test) ]
13951409mod tests {
13961410 use std:: io;
0 commit comments