@@ -20,22 +20,28 @@ crate trait DocFolder: Sized {
20
20
StructItem ( mut i) => {
21
21
let num_fields = i. fields . len ( ) ;
22
22
i. fields = i. fields . into_iter ( ) . filter_map ( |x| self . fold_item ( x) ) . collect ( ) ;
23
- i. fields_stripped |=
24
- num_fields != i. fields . len ( ) || i. fields . iter ( ) . any ( |f| f. is_stripped ( ) ) ;
23
+ if !i. fields_stripped {
24
+ i. fields_stripped =
25
+ num_fields != i. fields . len ( ) || i. fields . iter ( ) . any ( |f| f. is_stripped ( ) ) ;
26
+ }
25
27
StructItem ( i)
26
28
}
27
29
UnionItem ( mut i) => {
28
30
let num_fields = i. fields . len ( ) ;
29
31
i. fields = i. fields . into_iter ( ) . filter_map ( |x| self . fold_item ( x) ) . collect ( ) ;
30
- i. fields_stripped |=
31
- num_fields != i. fields . len ( ) || i. fields . iter ( ) . any ( |f| f. is_stripped ( ) ) ;
32
+ if !i. fields_stripped {
33
+ i. fields_stripped =
34
+ num_fields != i. fields . len ( ) || i. fields . iter ( ) . any ( |f| f. is_stripped ( ) ) ;
35
+ }
32
36
UnionItem ( i)
33
37
}
34
38
EnumItem ( mut i) => {
35
39
let num_variants = i. variants . len ( ) ;
36
40
i. variants = i. variants . into_iter ( ) . filter_map ( |x| self . fold_item ( x) ) . collect ( ) ;
37
- i. variants_stripped |=
38
- num_variants != i. variants . len ( ) || i. variants . iter ( ) . any ( |f| f. is_stripped ( ) ) ;
41
+ if !i. variants_stripped {
42
+ i. variants_stripped = num_variants != i. variants . len ( )
43
+ || i. variants . iter ( ) . any ( |f| f. is_stripped ( ) ) ;
44
+ }
39
45
EnumItem ( i)
40
46
}
41
47
TraitItem ( mut i) => {
@@ -50,8 +56,10 @@ crate trait DocFolder: Sized {
50
56
Variant :: Struct ( mut j) => {
51
57
let num_fields = j. fields . len ( ) ;
52
58
j. fields = j. fields . into_iter ( ) . filter_map ( |x| self . fold_item ( x) ) . collect ( ) ;
53
- j. fields_stripped |=
54
- num_fields != j. fields . len ( ) || j. fields . iter ( ) . any ( |f| f. is_stripped ( ) ) ;
59
+ if !j. fields_stripped {
60
+ j. fields_stripped = num_fields != j. fields . len ( )
61
+ || j. fields . iter ( ) . any ( |f| f. is_stripped ( ) ) ;
62
+ }
55
63
VariantItem ( Variant :: Struct ( j) )
56
64
}
57
65
Variant :: Tuple ( fields) => {
0 commit comments