From e271383c6b0cd234512d495fe499875b6f0288aa Mon Sep 17 00:00:00 2001 From: Matthew Jasper Date: Sat, 6 Mar 2021 11:22:08 +0000 Subject: [PATCH] Simplify BoundUniversalRegionError --- .../src/borrow_check/diagnostics/region_errors.rs | 12 ++++++------ .../rustc_mir/src/borrow_check/region_infer/mod.rs | 2 +- .../src/borrow_check/region_infer/values.rs | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/compiler/rustc_mir/src/borrow_check/diagnostics/region_errors.rs b/compiler/rustc_mir/src/borrow_check/diagnostics/region_errors.rs index 1460c2378d1..2d6194c48c3 100644 --- a/compiler/rustc_mir/src/borrow_check/diagnostics/region_errors.rs +++ b/compiler/rustc_mir/src/borrow_check/diagnostics/region_errors.rs @@ -75,8 +75,8 @@ fn description(&self) -> &'static str { longer_fr: RegionVid, /// The region element that erroneously must be outlived by `longer_fr`. error_element: RegionElement, - /// The origin of the placeholder region. - fr_origin: NllRegionVariableOrigin, + /// The placeholder region. + placeholder: ty::PlaceholderRegion, }, /// Any other lifetime error. @@ -210,17 +210,17 @@ pub(in crate::borrow_check) fn report_region_errors(&mut self, nll_errors: Regio RegionErrorKind::BoundUniversalRegionError { longer_fr, - fr_origin, + placeholder, error_element, } => { - let error_region = self.regioncx.region_from_element(longer_fr, error_element); + let error_vid = self.regioncx.region_from_element(longer_fr, error_element); // Find the code to blame for the fact that `longer_fr` outlives `error_fr`. let (_, span) = self.regioncx.find_outlives_blame_span( &self.body, longer_fr, - fr_origin, - error_region, + NllRegionVariableOrigin::Placeholder(placeholder), + error_vid, ); // FIXME: improve this error message diff --git a/compiler/rustc_mir/src/borrow_check/region_infer/mod.rs b/compiler/rustc_mir/src/borrow_check/region_infer/mod.rs index c40e6bf1ec3..3fe02ece06d 100644 --- a/compiler/rustc_mir/src/borrow_check/region_infer/mod.rs +++ b/compiler/rustc_mir/src/borrow_check/region_infer/mod.rs @@ -1632,7 +1632,7 @@ fn check_bound_universal_region( errors_buffer.push(RegionErrorKind::BoundUniversalRegionError { longer_fr, error_element, - fr_origin: NllRegionVariableOrigin::Placeholder(placeholder), + placeholder, }); } diff --git a/compiler/rustc_mir/src/borrow_check/region_infer/values.rs b/compiler/rustc_mir/src/borrow_check/region_infer/values.rs index f247d07e1f0..940caf6eae8 100644 --- a/compiler/rustc_mir/src/borrow_check/region_infer/values.rs +++ b/compiler/rustc_mir/src/borrow_check/region_infer/values.rs @@ -114,7 +114,7 @@ pub struct PlaceholderIndex { DEBUG_FORMAT = "PlaceholderIndex({})" } /// An individual element in a region value -- the value of a /// particular region variable consists of a set of these elements. -#[derive(Debug, Clone)] +#[derive(Debug, Copy, Clone)] crate enum RegionElement { /// A point in the control-flow graph. Location(Location), -- GitLab