]> git.lizzy.rs Git - rust.git/blobdiff - src/librustc_mir/borrow_check/nll/region_infer/mod.rs
Auto merge of #67016 - lqd:placeholder_loans, r=matthewjasper
[rust.git] / src / librustc_mir / borrow_check / nll / region_infer / mod.rs
index 574c64aa571cbf103452400c80014c817f55e389..d62537b1ad46581e333d7b2122eea08b4ae27a0c 100644 (file)
@@ -494,7 +494,7 @@ pub(super) fn solve(
         // functions below, which will trigger them to report errors
         // eagerly.
         let mut outlives_requirements =
-            if infcx.tcx.is_closure(mir_def_id) { Some(vec![]) } else { None };
+            infcx.tcx.is_closure(mir_def_id).then(|| vec![]);
 
         self.check_type_tests(
             infcx,
@@ -727,14 +727,11 @@ fn apply_member_constraint(
         let min = |r1: ty::RegionVid, r2: ty::RegionVid| -> Option<ty::RegionVid> {
             let r1_outlives_r2 = self.universal_region_relations.outlives(r1, r2);
             let r2_outlives_r1 = self.universal_region_relations.outlives(r2, r1);
-            if r1_outlives_r2 && r2_outlives_r1 {
-                Some(r1.min(r2))
-            } else if r1_outlives_r2 {
-                Some(r2)
-            } else if r2_outlives_r1 {
-                Some(r1)
-            } else {
-                None
+            match (r1_outlives_r2, r2_outlives_r1) {
+                (true, true) => Some(r1.min(r2)),
+                (true, false) => Some(r2),
+                (false, true) => Some(r1),
+                (false, false) => None,
             }
         };
         let mut min_choice = choice_regions[0];
@@ -1426,7 +1423,10 @@ fn check_polonius_subset_errors(
         region_naming: &mut RegionErrorNamingCtx,
         polonius_output: Rc<PoloniusOutput>,
     ) {
-        debug!("check_polonius_subset_errors: {} subset_errors", polonius_output.subset_errors.len());
+        debug!(
+            "check_polonius_subset_errors: {} subset_errors",
+            polonius_output.subset_errors.len()
+        );
 
         let mut outlives_suggestion = OutlivesSuggestionBuilder::new(mir_def_id, local_names);
 
@@ -1647,10 +1647,12 @@ fn report_or_propagate_universal_region_error(
                 // Grow `shorter_fr` until we find some non-local regions. (We
                 // always will.)  We'll call them `shorter_fr+` -- they're ever
                 // so slightly larger than `shorter_fr`.
-                let shorter_fr_plus =
-                    self.universal_region_relations.non_local_upper_bounds(&shorter_fr);
+                let shorter_fr_plus = self
+                    .universal_region_relations
+                    .non_local_upper_bounds(&shorter_fr);
                 debug!(
-                    "report_or_propagate_universal_region_error: shorter_fr_plus={:?}", shorter_fr_plus
+                    "report_or_propagate_universal_region_error: shorter_fr_plus={:?}",
+                    shorter_fr_plus
                 );
                 for &&fr in &shorter_fr_plus {
                     // Push the constraint `fr-: shorter_fr+`