提交 7f268838 编写于 作者: M Michael Howell

rustdoc: Use conditional for _stripped fold

Followup: https://github.com/rust-lang/rust/pull/90475#discussion_r741405472
上级 27143a90
......@@ -20,22 +20,28 @@ fn fold_inner_recur(&mut self, kind: ItemKind) -> ItemKind {
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 @@ fn fold_inner_recur(&mut self, kind: ItemKind) -> ItemKind {
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) => {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册