diff options
| author | Joshua Nelson <jyn514@gmail.com> | 2021-01-14 21:42:59 -0500 |
|---|---|---|
| committer | Joshua Nelson <jyn514@gmail.com> | 2021-01-15 13:54:59 -0500 |
| commit | dd459a2be6973cdf2e79158c8ff386447c401d1d (patch) | |
| tree | 785da5254839c75ab9ec3b7a7ef6f852cbfefa2d /src | |
| parent | e48eb37b9470a26748c916f7153569906f3c67bf (diff) | |
| download | rust-dd459a2be6973cdf2e79158c8ff386447c401d1d.tar.gz rust-dd459a2be6973cdf2e79158c8ff386447c401d1d.zip | |
Remove useless `clean::Variant` struct
It had exactly one field and no special behavior, so there was no point.
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustdoc/clean/mod.rs | 10 | ||||
| -rw-r--r-- | src/librustdoc/clean/types.rs | 13 | ||||
| -rw-r--r-- | src/librustdoc/fold.rs | 4 | ||||
| -rw-r--r-- | src/librustdoc/html/render/mod.rs | 23 | ||||
| -rw-r--r-- | src/librustdoc/json/conversions.rs | 6 | ||||
| -rw-r--r-- | src/librustdoc/passes/stripper.rs | 2 |
6 files changed, 22 insertions, 36 deletions
diff --git a/src/librustdoc/clean/mod.rs b/src/librustdoc/clean/mod.rs index 5ec79c586dc..7aed5983be4 100644 --- a/src/librustdoc/clean/mod.rs +++ b/src/librustdoc/clean/mod.rs @@ -1861,12 +1861,8 @@ impl Clean<Item> for ty::VariantDef { .collect(), }), }; - let what_rustc_thinks = Item::from_def_id_and_parts( - self.def_id, - Some(self.ident.name), - VariantItem(Variant { kind }), - cx, - ); + let what_rustc_thinks = + Item::from_def_id_and_parts(self.def_id, Some(self.ident.name), VariantItem(kind), cx); // don't show `pub` for fields, which are always public Item { visibility: Inherited, ..what_rustc_thinks } } @@ -2048,7 +2044,7 @@ impl Clean<Vec<Item>> for (&hir::Item<'_>, Option<Symbol>) { impl Clean<Item> for hir::Variant<'_> { fn clean(&self, cx: &DocContext<'_>) -> Item { - let kind = VariantItem(Variant { kind: self.data.clean(cx) }); + let kind = VariantItem(self.data.clean(cx)); let what_rustc_thinks = Item::from_hir_id_and_parts(self.id, Some(self.ident.name), kind, cx); // don't show `pub` for variants, which are always public diff --git a/src/librustdoc/clean/types.rs b/src/librustdoc/clean/types.rs index 1f63fe5b957..60ed5f0f82d 100644 --- a/src/librustdoc/clean/types.rs +++ b/src/librustdoc/clean/types.rs @@ -237,9 +237,7 @@ impl Item { match *self.kind { StructItem(ref _struct) => Some(_struct.fields_stripped), UnionItem(ref union) => Some(union.fields_stripped), - VariantItem(Variant { kind: VariantKind::Struct(ref vstruct) }) => { - Some(vstruct.fields_stripped) - } + VariantItem(VariantKind::Struct(ref vstruct)) => Some(vstruct.fields_stripped), _ => None, } } @@ -325,7 +323,7 @@ crate enum ItemKind { /// A method with a body. MethodItem(Function, Option<hir::Defaultness>), StructFieldItem(Type), - VariantItem(Variant), + VariantItem(VariantKind), /// `fn`s from an extern block ForeignFunctionItem(Function), /// `static`s from an extern block @@ -353,7 +351,7 @@ impl ItemKind { match self { StructItem(s) => s.fields.iter(), UnionItem(u) => u.fields.iter(), - VariantItem(Variant { kind: VariantKind::Struct(v) }) => v.fields.iter(), + VariantItem(VariantKind::Struct(v)) => v.fields.iter(), EnumItem(e) => e.variants.iter(), TraitItem(t) => t.items.iter(), ImplItem(i) => i.items.iter(), @@ -1719,11 +1717,6 @@ crate struct Enum { } #[derive(Clone, Debug)] -crate struct Variant { - crate kind: VariantKind, -} - -#[derive(Clone, Debug)] crate enum VariantKind { CLike, Tuple(Vec<Type>), diff --git a/src/librustdoc/fold.rs b/src/librustdoc/fold.rs index 4d45c8866a7..090f7648e4e 100644 --- a/src/librustdoc/fold.rs +++ b/src/librustdoc/fold.rs @@ -55,13 +55,13 @@ crate trait DocFolder: Sized { } VariantItem(i) => { let i2 = i.clone(); // this clone is small - match i.kind { + match i { VariantKind::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()); - VariantItem(Variant { kind: VariantKind::Struct(j) }) + VariantItem(VariantKind::Struct(j)) } _ => VariantItem(i2), } diff --git a/src/librustdoc/html/render/mod.rs b/src/librustdoc/html/render/mod.rs index 6a32be60991..0c9bb78b967 100644 --- a/src/librustdoc/html/render/mod.rs +++ b/src/librustdoc/html/render/mod.rs @@ -3200,7 +3200,7 @@ fn item_enum(w: &mut Buffer, cx: &Context<'_>, it: &clean::Item, e: &clean::Enum write!(w, " "); let name = v.name.as_ref().unwrap(); match *v.kind { - clean::VariantItem(ref var) => match var.kind { + clean::VariantItem(ref var) => match var { clean::VariantKind::CLike => write!(w, "{}", name), clean::VariantKind::Tuple(ref tys) => { write!(w, "{}(", name); @@ -3249,25 +3249,22 @@ fn item_enum(w: &mut Buffer, cx: &Context<'_>, it: &clean::Item, e: &clean::Enum id = id, name = variant.name.as_ref().unwrap() ); - if let clean::VariantItem(ref var) = *variant.kind { - if let clean::VariantKind::Tuple(ref tys) = var.kind { - write!(w, "("); - for (i, ty) in tys.iter().enumerate() { - if i > 0 { - write!(w, ", "); - } - write!(w, "{}", ty.print()); + if let clean::VariantItem(clean::VariantKind::Tuple(ref tys)) = *variant.kind { + write!(w, "("); + for (i, ty) in tys.iter().enumerate() { + if i > 0 { + write!(w, ", "); } - write!(w, ")"); + write!(w, "{}", ty.print()); } + write!(w, ")"); } write!(w, "</code></div>"); document(w, cx, variant, Some(it)); document_non_exhaustive(w, variant); - use crate::clean::{Variant, VariantKind}; - if let clean::VariantItem(Variant { kind: VariantKind::Struct(ref s) }) = *variant.kind - { + use crate::clean::VariantKind; + if let clean::VariantItem(VariantKind::Struct(ref s)) = *variant.kind { let variant_id = cx.derive_id(format!( "{}.{}.fields", ItemType::Variant, diff --git a/src/librustdoc/json/conversions.rs b/src/librustdoc/json/conversions.rs index 5dea64ef145..aa4d51f84e0 100644 --- a/src/librustdoc/json/conversions.rs +++ b/src/librustdoc/json/conversions.rs @@ -480,10 +480,10 @@ impl From<clean::VariantStruct> for Struct { } } -impl From<clean::Variant> for Variant { - fn from(variant: clean::Variant) -> Self { +impl From<clean::VariantKind> for Variant { + fn from(variant: clean::VariantKind) -> Self { use clean::VariantKind::*; - match variant.kind { + match variant { CLike => Variant::Plain, Tuple(t) => Variant::Tuple(t.into_iter().map(Into::into).collect()), Struct(s) => Variant::Struct(ids(s.fields)), diff --git a/src/librustdoc/passes/stripper.rs b/src/librustdoc/passes/stripper.rs index a1924422f0e..133849a0389 100644 --- a/src/librustdoc/passes/stripper.rs +++ b/src/librustdoc/passes/stripper.rs @@ -94,7 +94,7 @@ impl<'a> DocFolder for Stripper<'a> { // implementations of traits are always public. clean::ImplItem(ref imp) if imp.trait_.is_some() => true, // Struct variant fields have inherited visibility - clean::VariantItem(clean::Variant { kind: clean::VariantKind::Struct(..) }) => true, + clean::VariantItem(clean::VariantKind::Struct(..)) => true, _ => false, }; |
