@@ -1817,17 +1817,15 @@ fn is_field_vis_inherited(tcx: TyCtxt<'_>, def_id: DefId) -> bool {
18171817 }
18181818}
18191819
1820- impl < ' tcx > Clean < ' tcx , Visibility > for ty:: Visibility {
1821- fn clean ( & self , _cx : & mut DocContext < ' _ > ) -> Visibility {
1822- match * self {
1823- ty:: Visibility :: Public => Visibility :: Public ,
1824- // NOTE: this is not quite right: `ty` uses `Invisible` to mean 'private',
1825- // while rustdoc really does mean inherited. That means that for enum variants, such as
1826- // `pub enum E { V }`, `V` will be marked as `Public` by `ty`, but as `Inherited` by rustdoc.
1827- // Various parts of clean override `tcx.visibility` explicitly to make sure this distinction is captured.
1828- ty:: Visibility :: Invisible => Visibility :: Inherited ,
1829- ty:: Visibility :: Restricted ( module) => Visibility :: Restricted ( module) ,
1830- }
1820+ pub ( crate ) fn clean_visibility ( vis : ty:: Visibility ) -> Visibility {
1821+ match vis {
1822+ ty:: Visibility :: Public => Visibility :: Public ,
1823+ // NOTE: this is not quite right: `ty` uses `Invisible` to mean 'private',
1824+ // while rustdoc really does mean inherited. That means that for enum variants, such as
1825+ // `pub enum E { V }`, `V` will be marked as `Public` by `ty`, but as `Inherited` by rustdoc.
1826+ // Various parts of clean override `tcx.visibility` explicitly to make sure this distinction is captured.
1827+ ty:: Visibility :: Invisible => Visibility :: Inherited ,
1828+ ty:: Visibility :: Restricted ( module) => Visibility :: Restricted ( module) ,
18311829 }
18321830}
18331831
@@ -1988,7 +1986,7 @@ fn clean_maybe_renamed_item<'tcx>(
19881986 clean_fn_or_proc_macro ( item, sig, generics, body_id, & mut name, cx)
19891987 }
19901988 ItemKind :: Macro ( ref macro_def, _) => {
1991- let ty_vis = cx. tcx . visibility ( def_id) . clean ( cx ) ;
1989+ let ty_vis = clean_visibility ( cx. tcx . visibility ( def_id) ) ;
19921990 MacroItem ( Macro {
19931991 source : display_macro_source ( cx, name, macro_def, def_id, ty_vis) ,
19941992 } )
@@ -2117,7 +2115,7 @@ fn clean_extern_crate<'tcx>(
21172115 name: Some ( name) ,
21182116 attrs: Box :: new( attrs. clean( cx) ) ,
21192117 item_id: crate_def_id. into( ) ,
2120- visibility: ty_vis . clean ( cx ) ,
2118+ visibility: clean_visibility ( ty_vis ) ,
21212119 kind: box ExternCrateItem { src: orig_name } ,
21222120 cfg: attrs. cfg( cx. tcx, & cx. cache. hidden_cfg) ,
21232121 } ]
0 commit comments