Rollup merge of #100104 - GuillaumeGomez:rm-clean-impls, r=Dylan-DPC
Remove more Clean trait implementations Follow-up of https://github.com/rust-lang/rust/pull/99638. r? ``@notriddle``
This commit is contained in:
commit
cd2619be67
@ -247,30 +247,28 @@ pub(crate) fn clean_middle_const<'tcx>(
|
||||
}
|
||||
}
|
||||
|
||||
impl<'tcx> Clean<'tcx, Option<Lifetime>> for ty::Region<'tcx> {
|
||||
fn clean(&self, _cx: &mut DocContext<'_>) -> Option<Lifetime> {
|
||||
match **self {
|
||||
ty::ReStatic => Some(Lifetime::statik()),
|
||||
ty::ReLateBound(_, ty::BoundRegion { kind: ty::BrNamed(_, name), .. }) => {
|
||||
if name != kw::UnderscoreLifetime { Some(Lifetime(name)) } else { None }
|
||||
}
|
||||
ty::ReEarlyBound(ref data) => {
|
||||
if data.name != kw::UnderscoreLifetime {
|
||||
Some(Lifetime(data.name))
|
||||
} else {
|
||||
None
|
||||
}
|
||||
}
|
||||
ty::ReLateBound(..)
|
||||
| ty::ReFree(..)
|
||||
| ty::ReVar(..)
|
||||
| ty::RePlaceholder(..)
|
||||
| ty::ReEmpty(_)
|
||||
| ty::ReErased => {
|
||||
debug!("cannot clean region {:?}", self);
|
||||
pub(crate) fn clean_middle_region<'tcx>(region: ty::Region<'tcx>) -> Option<Lifetime> {
|
||||
match *region {
|
||||
ty::ReStatic => Some(Lifetime::statik()),
|
||||
ty::ReLateBound(_, ty::BoundRegion { kind: ty::BrNamed(_, name), .. }) => {
|
||||
if name != kw::UnderscoreLifetime { Some(Lifetime(name)) } else { None }
|
||||
}
|
||||
ty::ReEarlyBound(ref data) => {
|
||||
if data.name != kw::UnderscoreLifetime {
|
||||
Some(Lifetime(data.name))
|
||||
} else {
|
||||
None
|
||||
}
|
||||
}
|
||||
ty::ReLateBound(..)
|
||||
| ty::ReFree(..)
|
||||
| ty::ReVar(..)
|
||||
| ty::RePlaceholder(..)
|
||||
| ty::ReEmpty(_)
|
||||
| ty::ReErased => {
|
||||
debug!("cannot clean region {:?}", region);
|
||||
None
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -321,7 +319,7 @@ fn clean(&self, cx: &mut DocContext<'tcx>) -> Option<WherePredicate> {
|
||||
ty::PredicateKind::Trait(pred) => {
|
||||
clean_poly_trait_predicate(bound_predicate.rebind(pred), cx)
|
||||
}
|
||||
ty::PredicateKind::RegionOutlives(pred) => clean_region_outlives_predicate(pred, cx),
|
||||
ty::PredicateKind::RegionOutlives(pred) => clean_region_outlives_predicate(pred),
|
||||
ty::PredicateKind::TypeOutlives(pred) => clean_type_outlives_predicate(pred, cx),
|
||||
ty::PredicateKind::Projection(pred) => Some(clean_projection_predicate(pred, cx)),
|
||||
ty::PredicateKind::ConstEvaluatable(..) => None,
|
||||
@ -358,7 +356,6 @@ fn clean_poly_trait_predicate<'tcx>(
|
||||
|
||||
fn clean_region_outlives_predicate<'tcx>(
|
||||
pred: ty::OutlivesPredicate<ty::Region<'tcx>, ty::Region<'tcx>>,
|
||||
cx: &mut DocContext<'tcx>,
|
||||
) -> Option<WherePredicate> {
|
||||
let ty::OutlivesPredicate(a, b) = pred;
|
||||
|
||||
@ -367,8 +364,10 @@ fn clean_region_outlives_predicate<'tcx>(
|
||||
}
|
||||
|
||||
Some(WherePredicate::RegionPredicate {
|
||||
lifetime: a.clean(cx).expect("failed to clean lifetime"),
|
||||
bounds: vec![GenericBound::Outlives(b.clean(cx).expect("failed to clean bounds"))],
|
||||
lifetime: clean_middle_region(a).expect("failed to clean lifetime"),
|
||||
bounds: vec![GenericBound::Outlives(
|
||||
clean_middle_region(b).expect("failed to clean bounds"),
|
||||
)],
|
||||
})
|
||||
}
|
||||
|
||||
@ -384,7 +383,9 @@ fn clean_type_outlives_predicate<'tcx>(
|
||||
|
||||
Some(WherePredicate::BoundPredicate {
|
||||
ty: clean_middle_ty(ty, cx, None),
|
||||
bounds: vec![GenericBound::Outlives(lt.clean(cx).expect("failed to clean lifetimes"))],
|
||||
bounds: vec![GenericBound::Outlives(
|
||||
clean_middle_region(lt).expect("failed to clean lifetimes"),
|
||||
)],
|
||||
bound_params: Vec::new(),
|
||||
})
|
||||
}
|
||||
@ -999,15 +1000,6 @@ fn clean(&self, cx: &mut DocContext<'tcx>) -> FnRetTy {
|
||||
}
|
||||
}
|
||||
|
||||
impl<'tcx> Clean<'tcx, bool> for hir::IsAuto {
|
||||
fn clean(&self, _: &mut DocContext<'tcx>) -> bool {
|
||||
match *self {
|
||||
hir::IsAuto::Yes => true,
|
||||
hir::IsAuto::No => false,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl<'tcx> Clean<'tcx, Path> for hir::TraitRef<'tcx> {
|
||||
fn clean(&self, cx: &mut DocContext<'tcx>) -> Path {
|
||||
let path = clean_path(self.path, cx);
|
||||
@ -1597,7 +1589,7 @@ pub(crate) fn clean_middle_ty<'tcx>(
|
||||
}
|
||||
ty::RawPtr(mt) => RawPointer(mt.mutbl, Box::new(clean_middle_ty(mt.ty, cx, None))),
|
||||
ty::Ref(r, ty, mutbl) => BorrowedRef {
|
||||
lifetime: r.clean(cx),
|
||||
lifetime: clean_middle_region(r),
|
||||
mutability: mutbl,
|
||||
type_: Box::new(clean_middle_ty(ty, cx, None)),
|
||||
},
|
||||
@ -1644,7 +1636,7 @@ pub(crate) fn clean_middle_ty<'tcx>(
|
||||
|
||||
inline::record_extern_fqn(cx, did, ItemType::Trait);
|
||||
|
||||
let lifetime = reg.clean(cx);
|
||||
let lifetime = clean_middle_region(*reg);
|
||||
let mut bounds = vec![];
|
||||
|
||||
for did in dids {
|
||||
@ -1710,7 +1702,7 @@ pub(crate) fn clean_middle_ty<'tcx>(
|
||||
let trait_ref = match bound_predicate.skip_binder() {
|
||||
ty::PredicateKind::Trait(tr) => bound_predicate.rebind(tr.trait_ref),
|
||||
ty::PredicateKind::TypeOutlives(ty::OutlivesPredicate(_ty, reg)) => {
|
||||
if let Some(r) = reg.clean(cx) {
|
||||
if let Some(r) = clean_middle_region(reg) {
|
||||
regions.push(GenericBound::Outlives(r));
|
||||
}
|
||||
return None;
|
||||
|
@ -2,9 +2,9 @@
|
||||
use crate::clean::blanket_impl::BlanketImplFinder;
|
||||
use crate::clean::render_macro_matchers::render_macro_matcher;
|
||||
use crate::clean::{
|
||||
clean_middle_const, clean_middle_ty, inline, Clean, Crate, ExternalCrate, Generic, GenericArg,
|
||||
GenericArgs, ImportSource, Item, ItemKind, Lifetime, Path, PathSegment, Primitive,
|
||||
PrimitiveType, Type, TypeBinding, Visibility,
|
||||
clean_middle_const, clean_middle_region, clean_middle_ty, inline, Clean, Crate, ExternalCrate,
|
||||
Generic, GenericArg, GenericArgs, ImportSource, Item, ItemKind, Lifetime, Path, PathSegment,
|
||||
Primitive, PrimitiveType, Type, TypeBinding, Visibility,
|
||||
};
|
||||
use crate::core::DocContext;
|
||||
use crate::formats::item_type::ItemType;
|
||||
@ -86,7 +86,7 @@ pub(crate) fn substs_to_args<'tcx>(
|
||||
Vec::with_capacity(substs.len().saturating_sub(if skip_first { 1 } else { 0 }));
|
||||
ret_val.extend(substs.iter().filter_map(|kind| match kind.unpack() {
|
||||
GenericArgKind::Lifetime(lt) => {
|
||||
Some(GenericArg::Lifetime(lt.clean(cx).unwrap_or(Lifetime::elided())))
|
||||
Some(GenericArg::Lifetime(clean_middle_region(lt).unwrap_or(Lifetime::elided())))
|
||||
}
|
||||
GenericArgKind::Type(_) if skip_first => {
|
||||
skip_first = false;
|
||||
|
Loading…
Reference in New Issue
Block a user