about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2021-11-05 01:29:41 +0000
committerbors <bors@rust-lang.org>2021-11-05 01:29:41 +0000
commita6162f6c0ff39a6cc8dcb11a456e54f592653cc9 (patch)
tree4746e9870416c8df4833b39c09dac2ee054b1c6a
parent2cff30b17a5409e15134f8634444069fc6f21cb6 (diff)
parent7f268838cd2ea00e3d9a724b8994962510cc7778 (diff)
downloadrust-a6162f6c0ff39a6cc8dcb11a456e54f592653cc9.tar.gz
rust-a6162f6c0ff39a6cc8dcb11a456e54f592653cc9.zip
Auto merge of #90574 - notriddle:notriddle/doc-fold-stripped-conditional, r=camelid,GuillaumeGomez
rustdoc: Use conditional for _stripped fold

Followup: https://github.com/rust-lang/rust/pull/90475#discussion_r741405472
-rw-r--r--src/librustdoc/fold.rs24
1 files changed, 16 insertions, 8 deletions
diff --git a/src/librustdoc/fold.rs b/src/librustdoc/fold.rs
index 65cd71307aa..cd0f44e5696 100644
--- a/src/librustdoc/fold.rs
+++ b/src/librustdoc/fold.rs
@@ -20,22 +20,28 @@ crate trait DocFolder: Sized {
             StructItem(mut i) => {
                 let num_fields = i.fields.len();
                 i.fields = i.fields.into_iter().filter_map(|x| self.fold_item(x)).collect();
-                i.fields_stripped |=
-                    num_fields != i.fields.len() || i.fields.iter().any(|f| f.is_stripped());
+                if !i.fields_stripped {
+                    i.fields_stripped =
+                        num_fields != i.fields.len() || i.fields.iter().any(|f| f.is_stripped());
+                }
                 StructItem(i)
             }
             UnionItem(mut i) => {
                 let num_fields = i.fields.len();
                 i.fields = i.fields.into_iter().filter_map(|x| self.fold_item(x)).collect();
-                i.fields_stripped |=
-                    num_fields != i.fields.len() || i.fields.iter().any(|f| f.is_stripped());
+                if !i.fields_stripped {
+                    i.fields_stripped =
+                        num_fields != i.fields.len() || i.fields.iter().any(|f| f.is_stripped());
+                }
                 UnionItem(i)
             }
             EnumItem(mut i) => {
                 let num_variants = i.variants.len();
                 i.variants = i.variants.into_iter().filter_map(|x| self.fold_item(x)).collect();
-                i.variants_stripped |=
-                    num_variants != i.variants.len() || i.variants.iter().any(|f| f.is_stripped());
+                if !i.variants_stripped {
+                    i.variants_stripped = num_variants != i.variants.len()
+                        || i.variants.iter().any(|f| f.is_stripped());
+                }
                 EnumItem(i)
             }
             TraitItem(mut i) => {
@@ -50,8 +56,10 @@ crate trait DocFolder: Sized {
                 Variant::Struct(mut j) => {
                     let num_fields = j.fields.len();
                     j.fields = j.fields.into_iter().filter_map(|x| self.fold_item(x)).collect();
-                    j.fields_stripped |=
-                        num_fields != j.fields.len() || j.fields.iter().any(|f| f.is_stripped());
+                    if !j.fields_stripped {
+                        j.fields_stripped = num_fields != j.fields.len()
+                            || j.fields.iter().any(|f| f.is_stripped());
+                    }
                     VariantItem(Variant::Struct(j))
                 }
                 Variant::Tuple(fields) => {