File tree 3 files changed +9
-16
lines changed
3 files changed +9
-16
lines changed Original file line number Diff line number Diff line change 1
1
use crate :: clean:: * ;
2
2
3
- crate struct StripItem ( pub Item ) ;
4
-
5
- impl StripItem {
6
- crate fn strip ( self ) -> Item {
7
- match self . 0 {
8
- Item { kind : box StrippedItem ( ..) , .. } => self . 0 ,
9
- mut i => {
10
- i. kind = box StrippedItem ( i. kind ) ;
11
- i
12
- }
13
- }
3
+ crate fn strip_item ( mut item : Item ) -> Item {
4
+ if !matches ! ( * item. kind, StrippedItem ( ..) ) {
5
+ item. kind = box StrippedItem ( item. kind ) ;
14
6
}
7
+ item
15
8
}
16
9
17
10
crate trait DocFolder : Sized {
Original file line number Diff line number Diff line change @@ -4,7 +4,7 @@ use std::mem;
4
4
use crate :: clean;
5
5
use crate :: clean:: { FakeDefIdSet , Item , NestedAttributesExt } ;
6
6
use crate :: core:: DocContext ;
7
- use crate :: fold:: { DocFolder , StripItem } ;
7
+ use crate :: fold:: { strip_item , DocFolder } ;
8
8
use crate :: passes:: { ImplStripper , Pass } ;
9
9
10
10
crate const STRIP_HIDDEN : Pass = Pass {
@@ -44,7 +44,7 @@ impl<'a> DocFolder for Stripper<'a> {
44
44
// strip things like impl methods but when doing so
45
45
// we must not add any items to the `retained` set.
46
46
let old = mem:: replace ( & mut self . update_retained , false ) ;
47
- let ret = StripItem ( self . fold_item_recur ( i) ) . strip ( ) ;
47
+ let ret = strip_item ( self . fold_item_recur ( i) ) ;
48
48
self . update_retained = old;
49
49
return Some ( ret) ;
50
50
}
Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ use rustc_middle::middle::privacy::AccessLevels;
3
3
use std:: mem;
4
4
5
5
use crate :: clean:: { self , FakeDefIdSet , GetDefId , Item } ;
6
- use crate :: fold:: { DocFolder , StripItem } ;
6
+ use crate :: fold:: { strip_item , DocFolder } ;
7
7
8
8
crate struct Stripper < ' a > {
9
9
crate retained : & ' a mut FakeDefIdSet ,
@@ -51,15 +51,15 @@ impl<'a> DocFolder for Stripper<'a> {
51
51
52
52
clean:: StructFieldItem ( ..) => {
53
53
if !i. visibility . is_public ( ) {
54
- return Some ( StripItem ( i ) . strip ( ) ) ;
54
+ return Some ( strip_item ( i ) ) ;
55
55
}
56
56
}
57
57
58
58
clean:: ModuleItem ( ..) => {
59
59
if i. def_id . is_local ( ) && !i. visibility . is_public ( ) {
60
60
debug ! ( "Stripper: stripping module {:?}" , i. name) ;
61
61
let old = mem:: replace ( & mut self . update_retained , false ) ;
62
- let ret = StripItem ( self . fold_item_recur ( i) ) . strip ( ) ;
62
+ let ret = strip_item ( self . fold_item_recur ( i) ) ;
63
63
self . update_retained = old;
64
64
return Some ( ret) ;
65
65
}
You can’t perform that action at this time.
0 commit comments