@@ -732,19 +732,19 @@ pub fn ensure_sufficient_stack<R>(f: impl FnOnce() -> R) -> R {
732
732
/// Context that provides information local to a place under investigation.
733
733
#[ derive( derivative:: Derivative ) ]
734
734
#[ derivative( Debug ( bound = "" ) , Clone ( bound = "" ) , Copy ( bound = "" ) ) ]
735
- pub ( crate ) struct PlaceCtxt < ' a , ' p , Cx : TypeCx > {
735
+ pub ( crate ) struct PlaceCtxt < ' a , Cx : TypeCx > {
736
736
#[ derivative( Debug = "ignore" ) ]
737
- pub ( crate ) mcx : MatchCtxt < ' a , ' p , Cx > ,
737
+ pub ( crate ) mcx : MatchCtxt < ' a , Cx > ,
738
738
/// Type of the place under investigation.
739
739
pub ( crate ) ty : Cx :: Ty ,
740
740
/// Whether the place is the original scrutinee place, as opposed to a subplace of it.
741
741
pub ( crate ) is_scrutinee : bool ,
742
742
}
743
743
744
- impl < ' a , ' p , Cx : TypeCx > PlaceCtxt < ' a , ' p , Cx > {
744
+ impl < ' a , Cx : TypeCx > PlaceCtxt < ' a , Cx > {
745
745
/// A `PlaceCtxt` when code other than `is_useful` needs one.
746
746
#[ cfg_attr( not( feature = "rustc" ) , allow( dead_code) ) ]
747
- pub ( crate ) fn new_dummy ( mcx : MatchCtxt < ' a , ' p , Cx > , ty : Cx :: Ty ) -> Self {
747
+ pub ( crate ) fn new_dummy ( mcx : MatchCtxt < ' a , Cx > , ty : Cx :: Ty ) -> Self {
748
748
PlaceCtxt { mcx, ty, is_scrutinee : false }
749
749
}
750
750
@@ -1067,7 +1067,7 @@ impl<'p, Cx: TypeCx> Matrix<'p, Cx> {
1067
1067
/// This computes `specialize(ctor, self)`. See top of the file for explanations.
1068
1068
fn specialize_constructor (
1069
1069
& self ,
1070
- pcx : & PlaceCtxt < ' _ , ' p , Cx > ,
1070
+ pcx : & PlaceCtxt < ' _ , Cx > ,
1071
1071
ctor : & Constructor < Cx > ,
1072
1072
ctor_is_relevant : bool ,
1073
1073
) -> Matrix < ' p , Cx > {
@@ -1226,7 +1226,7 @@ impl<Cx: TypeCx> WitnessStack<Cx> {
1226
1226
/// pats: [(false, "foo"), _, true]
1227
1227
/// result: [Enum::Variant { a: (false, "foo"), b: _ }, true]
1228
1228
/// ```
1229
- fn apply_constructor ( & mut self , pcx : & PlaceCtxt < ' _ , ' _ , Cx > , ctor : & Constructor < Cx > ) {
1229
+ fn apply_constructor ( & mut self , pcx : & PlaceCtxt < ' _ , Cx > , ctor : & Constructor < Cx > ) {
1230
1230
let len = self . 0 . len ( ) ;
1231
1231
let arity = ctor. arity ( pcx) ;
1232
1232
let fields = self . 0 . drain ( ( len - arity) ..) . rev ( ) . collect ( ) ;
@@ -1277,7 +1277,7 @@ impl<Cx: TypeCx> WitnessMatrix<Cx> {
1277
1277
/// Reverses specialization by `ctor`. See the section on `unspecialize` at the top of the file.
1278
1278
fn apply_constructor (
1279
1279
& mut self ,
1280
- pcx : & PlaceCtxt < ' _ , ' _ , Cx > ,
1280
+ pcx : & PlaceCtxt < ' _ , Cx > ,
1281
1281
missing_ctors : & [ Constructor < Cx > ] ,
1282
1282
ctor : & Constructor < Cx > ,
1283
1283
report_individual_missing_ctors : bool ,
@@ -1421,7 +1421,7 @@ fn collect_overlapping_range_endpoints<'p, Cx: TypeCx>(
1421
1421
/// This is all explained at the top of the file.
1422
1422
#[ instrument( level = "debug" , skip( mcx, is_top_level) , ret) ]
1423
1423
fn compute_exhaustiveness_and_usefulness < ' a , ' p , Cx : TypeCx > (
1424
- mcx : MatchCtxt < ' a , ' p , Cx > ,
1424
+ mcx : MatchCtxt < ' a , Cx > ,
1425
1425
matrix : & mut Matrix < ' p , Cx > ,
1426
1426
overlapping_range_endpoints : & mut Vec < OverlappingRanges < ' p , Cx > > ,
1427
1427
is_top_level : bool ,
@@ -1591,7 +1591,7 @@ pub struct UsefulnessReport<'p, Cx: TypeCx> {
1591
1591
/// Computes whether a match is exhaustive and which of its arms are useful.
1592
1592
#[ instrument( skip( cx, arms) , level = "debug" ) ]
1593
1593
pub fn compute_match_usefulness < ' p , Cx : TypeCx > (
1594
- cx : MatchCtxt < ' _ , ' p , Cx > ,
1594
+ cx : MatchCtxt < ' _ , Cx > ,
1595
1595
arms : & [ MatchArm < ' p , Cx > ] ,
1596
1596
scrut_ty : Cx :: Ty ,
1597
1597
scrut_validity : ValidityConstraint ,
0 commit comments