mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-22 06:44:35 +00:00
Clean up more lifetimes
This commit is contained in:
parent
b91a98ba10
commit
ae40f6a7ff
@ -861,12 +861,9 @@ impl<Cx: TypeCx> ConstructorSet<Cx> {
|
||||
#[instrument(level = "debug", skip(self, pcx, ctors), ret)]
|
||||
pub(crate) fn split<'a>(
|
||||
&self,
|
||||
pcx: &PlaceCtxt<'_, '_, Cx>,
|
||||
pcx: &PlaceCtxt<'a, '_, Cx>,
|
||||
ctors: impl Iterator<Item = &'a Constructor<Cx>> + Clone,
|
||||
) -> SplitConstructorSet<Cx>
|
||||
where
|
||||
Cx: 'a,
|
||||
{
|
||||
) -> SplitConstructorSet<Cx> {
|
||||
let mut present: SmallVec<[_; 1]> = SmallVec::new();
|
||||
// Empty constructors found missing.
|
||||
let mut missing_empty = Vec::new();
|
||||
|
@ -71,17 +71,15 @@ impl<'p, Cx: TypeCx> DeconstructedPat<'p, Cx> {
|
||||
self.data.as_ref()
|
||||
}
|
||||
|
||||
pub fn iter_fields<'a>(
|
||||
&'a self,
|
||||
) -> impl Iterator<Item = &'p DeconstructedPat<'p, Cx>> + Captures<'a> {
|
||||
pub fn iter_fields(&self) -> impl Iterator<Item = &'p DeconstructedPat<'p, Cx>> + Captures<'_> {
|
||||
self.fields.iter()
|
||||
}
|
||||
|
||||
/// Specialize this pattern with a constructor.
|
||||
/// `other_ctor` can be different from `self.ctor`, but must be covered by it.
|
||||
pub(crate) fn specialize<'a>(
|
||||
pub(crate) fn specialize(
|
||||
&self,
|
||||
pcx: &PlaceCtxt<'a, 'p, Cx>,
|
||||
pcx: &PlaceCtxt<'_, 'p, Cx>,
|
||||
other_ctor: &Constructor<Cx>,
|
||||
) -> SmallVec<[&'p DeconstructedPat<'p, Cx>; 2]> {
|
||||
let wildcard_sub_tys = || {
|
||||
@ -196,7 +194,7 @@ impl<Cx: TypeCx> WitnessPat<Cx> {
|
||||
self.ty
|
||||
}
|
||||
|
||||
pub fn iter_fields<'a>(&'a self) -> impl Iterator<Item = &'a WitnessPat<Cx>> {
|
||||
pub fn iter_fields(&self) -> impl Iterator<Item = &WitnessPat<Cx>> {
|
||||
self.fields.iter()
|
||||
}
|
||||
}
|
||||
|
@ -128,11 +128,11 @@ impl<'p, 'tcx> RustcMatchCheckCtxt<'p, 'tcx> {
|
||||
// In the cases of either a `#[non_exhaustive]` field list or a non-public field, we hide
|
||||
// uninhabited fields in order not to reveal the uninhabitedness of the whole variant.
|
||||
// This lists the fields we keep along with their types.
|
||||
pub(crate) fn list_variant_nonhidden_fields<'a>(
|
||||
&'a self,
|
||||
pub(crate) fn list_variant_nonhidden_fields(
|
||||
&self,
|
||||
ty: Ty<'tcx>,
|
||||
variant: &'a VariantDef, // TODO:
|
||||
) -> impl Iterator<Item = (FieldIdx, Ty<'tcx>)> + Captures<'p> + Captures<'a> {
|
||||
variant: &'tcx VariantDef,
|
||||
) -> impl Iterator<Item = (FieldIdx, Ty<'tcx>)> + Captures<'p> + Captures<'_> {
|
||||
let cx = self;
|
||||
let ty::Adt(adt, args) = ty.kind() else { bug!() };
|
||||
// Whether we must not match the fields of this variant exhaustively.
|
||||
|
Loading…
Reference in New Issue
Block a user