1
Fork 0

rustdoc: Remove top-level wrappers for ImplKind methods

The `ImplKind` methods can just be used directly instead.
This commit is contained in:
Noah Lev 2021-11-07 18:26:37 -08:00
parent 7c7bf451eb
commit b5817fada2
6 changed files with 8 additions and 20 deletions

View file

@ -2182,18 +2182,6 @@ crate struct Impl {
}
impl Impl {
crate fn is_auto_impl(&self) -> bool {
self.kind.is_auto()
}
crate fn is_blanket_impl(&self) -> bool {
self.kind.is_blanket()
}
crate fn blanket_impl_ty(&self) -> Option<&Type> {
self.kind.as_blanket_ty()
}
crate fn provided_trait_methods(&self, tcx: TyCtxt<'_>) -> FxHashSet<Symbol> {
self.trait_
.as_ref()

View file

@ -228,7 +228,7 @@ impl<'a, 'tcx> DocFolder for CacheBuilder<'a, 'tcx> {
// Collect all the implementors of traits.
if let clean::ImplItem(ref i) = *item.kind {
if let Some(trait_) = &i.trait_ {
if !i.is_blanket_impl() {
if !i.kind.is_blanket() {
self.cache
.implementors
.entry(trait_.def_id())

View file

@ -999,7 +999,7 @@ impl clean::Impl {
write!(f, " for ")?;
}
if let Some(ref ty) = self.blanket_impl_ty() {
if let Some(ref ty) = self.kind.as_blanket_ty() {
fmt_type(ty, f, use_absolute, cx)?;
} else {
fmt_type(&self.for_, f, use_absolute, cx)?;

View file

@ -1148,9 +1148,9 @@ fn render_assoc_items_inner(
}
let (synthetic, concrete): (Vec<&&Impl>, Vec<&&Impl>) =
traits.iter().partition(|t| t.inner_impl().is_auto_impl());
traits.iter().partition(|t| t.inner_impl().kind.is_auto());
let (blanket_impl, concrete): (Vec<&&Impl>, _) =
concrete.into_iter().partition(|t| t.inner_impl().is_blanket_impl());
concrete.into_iter().partition(|t| t.inner_impl().kind.is_blanket());
let mut impls = Buffer::empty_from(w);
render_impls(cx, &mut impls, &concrete, containing_item);
@ -2059,9 +2059,9 @@ fn sidebar_assoc_items(cx: &Context<'_>, out: &mut Buffer, it: &clean::Item) {
};
let (synthetic, concrete): (Vec<&Impl>, Vec<&Impl>) =
v.iter().partition::<Vec<_>, _>(|i| i.inner_impl().is_auto_impl());
v.iter().partition::<Vec<_>, _>(|i| i.inner_impl().kind.is_auto());
let (blanket_impl, concrete): (Vec<&Impl>, Vec<&Impl>) =
concrete.into_iter().partition::<Vec<_>, _>(|i| i.inner_impl().is_blanket_impl());
concrete.into_iter().partition::<Vec<_>, _>(|i| i.inner_impl().kind.is_blanket());
let concrete_format = format_impls(concrete);
let synthetic_format = format_impls(synthetic);

View file

@ -746,7 +746,7 @@ fn item_trait(w: &mut Buffer, cx: &Context<'_>, it: &clean::Item, t: &clean::Tra
});
let (mut synthetic, mut concrete): (Vec<&&Impl>, Vec<&&Impl>) =
local.iter().partition(|i| i.inner_impl().is_auto_impl());
local.iter().partition(|i| i.inner_impl().kind.is_auto());
synthetic.sort_by(|a, b| compare_impl(a, b, cx));
concrete.sort_by(|a, b| compare_impl(a, b, cx));

View file

@ -585,7 +585,7 @@ pub(super) fn write_shared(
} else {
Some(Implementor {
text: imp.inner_impl().print(false, cx).to_string(),
synthetic: imp.inner_impl().is_auto_impl(),
synthetic: imp.inner_impl().kind.is_auto(),
types: collect_paths_for_type(imp.inner_impl().for_.clone(), cache),
})
}