@@ -20,22 +20,28 @@ crate trait DocFolder: Sized {
2020 StructItem ( mut i) => {
2121 let num_fields = i. fields . len ( ) ;
2222 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+ }
2527 StructItem ( i)
2628 }
2729 UnionItem ( mut i) => {
2830 let num_fields = i. fields . len ( ) ;
2931 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+ }
3236 UnionItem ( i)
3337 }
3438 EnumItem ( mut i) => {
3539 let num_variants = i. variants . len ( ) ;
3640 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+ }
3945 EnumItem ( i)
4046 }
4147 TraitItem ( mut i) => {
@@ -50,8 +56,10 @@ crate trait DocFolder: Sized {
5056 Variant :: Struct ( mut j) => {
5157 let num_fields = j. fields . len ( ) ;
5258 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+ }
5563 VariantItem ( Variant :: Struct ( j) )
5664 }
5765 Variant :: Tuple ( fields) => {
0 commit comments