Skip to content

Commit a6162f6

Browse files
committed
Auto merge of #90574 - notriddle:notriddle/doc-fold-stripped-conditional, r=camelid,GuillaumeGomez
rustdoc: Use conditional for _stripped fold Followup: #90475 (comment)
2 parents 2cff30b + 7f26883 commit a6162f6

File tree

1 file changed

+16
-8
lines changed

1 file changed

+16
-8
lines changed

src/librustdoc/fold.rs

+16-8
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)