diff --git a/src/librustc/ich/impls_ty.rs b/src/librustc/ich/impls_ty.rs index ec1b0da681074..563948a63514b 100644 --- a/src/librustc/ich/impls_ty.rs +++ b/src/librustc/ich/impls_ty.rs @@ -100,7 +100,6 @@ for ty::RegionKind { ty::ReClosureBound(vid) => { vid.hash_stable(hcx, hasher); } - ty::ReLateBound(..) | ty::ReVar(..) | ty::RePlaceholder(..) => { bug!("StableHasher: unexpected region {:?}", *self) diff --git a/src/librustc/infer/error_reporting/mod.rs b/src/librustc/infer/error_reporting/mod.rs index f87c6977f33d0..b1eba7d5934f9 100644 --- a/src/librustc/infer/error_reporting/mod.rs +++ b/src/librustc/infer/error_reporting/mod.rs @@ -218,10 +218,6 @@ impl<'a, 'gcx, 'tcx> TyCtxt<'a, 'gcx, 'tcx> { format!("the anonymous lifetime #{} defined on", idx + 1), self.hir().span_by_hir_id(node), ), - ty::BrFresh(_) => ( - "an anonymous lifetime defined on".to_owned(), - self.hir().span_by_hir_id(node), - ), _ => ( format!("the lifetime {} as defined on", region), cm.def_span(self.hir().span_by_hir_id(node)), diff --git a/src/librustc/infer/region_constraints/mod.rs b/src/librustc/infer/region_constraints/mod.rs index 6a20d95cc3ad3..ca766ea724f3d 100644 --- a/src/librustc/infer/region_constraints/mod.rs +++ b/src/librustc/infer/region_constraints/mod.rs @@ -11,11 +11,11 @@ use rustc_data_structures::indexed_vec::IndexVec; use rustc_data_structures::unify as ut; use crate::ty::ReStatic; use crate::ty::{self, Ty, TyCtxt}; -use crate::ty::{BrFresh, ReLateBound, ReVar}; +use crate::ty::{ReLateBound, ReVar}; use crate::ty::{Region, RegionVid}; use std::collections::BTreeMap; -use std::{cmp, fmt, mem, u32}; +use std::{cmp, fmt, mem}; use std::ops::Range; mod leak_check; @@ -37,10 +37,6 @@ pub struct RegionConstraintCollector<'tcx> { /// exist). This prevents us from making many such regions. glbs: CombineMap<'tcx>, - /// Global counter used during the GLB algorithm to create unique - /// names for fresh bound regions - bound_count: u32, - /// The undo log records actions that might later be undone. /// /// Note: `num_open_snapshots` is used to track if we are actively @@ -392,7 +388,6 @@ impl<'tcx> RegionConstraintCollector<'tcx> { data, lubs, glbs, - bound_count: _, undo_log: _, num_open_snapshots: _, unification_table, @@ -579,39 +574,6 @@ impl<'tcx> RegionConstraintCollector<'tcx> { } } - pub fn new_bound( - &mut self, - tcx: TyCtxt<'_, '_, 'tcx>, - debruijn: ty::DebruijnIndex, - ) -> Region<'tcx> { - // Creates a fresh bound variable for use in GLB computations. - // See discussion of GLB computation in the large comment at - // the top of this file for more details. - // - // This computation is potentially wrong in the face of - // rollover. It's conceivable, if unlikely, that one might - // wind up with accidental capture for nested functions in - // that case, if the outer function had bound regions created - // a very long time before and the inner function somehow - // wound up rolling over such that supposedly fresh - // identifiers were in fact shadowed. For now, we just assert - // that there is no rollover -- eventually we should try to be - // robust against this possibility, either by checking the set - // of bound identifiers that appear in a given expression and - // ensure that we generate one that is distinct, or by - // changing the representation of bound regions in a fn - // declaration - - let sc = self.bound_count; - self.bound_count = sc + 1; - - if sc >= self.bound_count { - bug!("rollover in RegionInference new_bound()"); - } - - tcx.mk_region(ReLateBound(debruijn, BrFresh(sc))) - } - fn add_constraint(&mut self, constraint: Constraint<'tcx>, origin: SubregionOrigin<'tcx>) { // cannot add constraints once regions are resolved debug!( diff --git a/src/librustc/ty/print/pretty.rs b/src/librustc/ty/print/pretty.rs index a246d9652f2f0..300ea9bb49785 100644 --- a/src/librustc/ty/print/pretty.rs +++ b/src/librustc/ty/print/pretty.rs @@ -1441,7 +1441,6 @@ impl FmtPrinter<'_, 'gcx, 'tcx, F> { br } ty::BrAnon(_) | - ty::BrFresh(_) | ty::BrEnv => { let name = loop { let name = name_by_region_index(region_index); diff --git a/src/librustc/ty/structural_impls.rs b/src/librustc/ty/structural_impls.rs index 0daa567052d56..56d47a7f849cf 100644 --- a/src/librustc/ty/structural_impls.rs +++ b/src/librustc/ty/structural_impls.rs @@ -94,7 +94,6 @@ impl fmt::Debug for ty::BoundRegion { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { match *self { ty::BrAnon(n) => write!(f, "BrAnon({:?})", n), - ty::BrFresh(n) => write!(f, "BrFresh({:?})", n), ty::BrNamed(did, name) => { write!(f, "BrNamed({:?}:{:?}, {})", did.krate, did.index, name) diff --git a/src/librustc/ty/sty.rs b/src/librustc/ty/sty.rs index 0a673dd380b52..ddc4bd3f9f6c3 100644 --- a/src/librustc/ty/sty.rs +++ b/src/librustc/ty/sty.rs @@ -56,9 +56,6 @@ pub enum BoundRegion { /// the event of shadowing. BrNamed(DefId, InternedString), - /// Fresh bound identifiers created during GLB computations. - BrFresh(u32), - /// Anonymous region for the implicit env pointer parameter /// to a closure BrEnv, diff --git a/src/librustc_mir/borrow_check/nll/region_infer/error_reporting/region_name.rs b/src/librustc_mir/borrow_check/nll/region_infer/error_reporting/region_name.rs index 25415039fc80a..0d452c99ea168 100644 --- a/src/librustc_mir/borrow_check/nll/region_infer/error_reporting/region_name.rs +++ b/src/librustc_mir/borrow_check/nll/region_infer/error_reporting/region_name.rs @@ -274,7 +274,7 @@ impl<'tcx> RegionInferenceContext<'tcx> { } } - ty::BoundRegion::BrAnon(_) | ty::BoundRegion::BrFresh(_) => None, + ty::BoundRegion::BrAnon(_) => None, }, ty::ReLateBound(..) diff --git a/src/librustc_typeck/astconv.rs b/src/librustc_typeck/astconv.rs index 5b1a2e29c7642..bd272c08b4d30 100644 --- a/src/librustc_typeck/astconv.rs +++ b/src/librustc_typeck/astconv.rs @@ -2048,7 +2048,7 @@ impl<'o, 'gcx: 'tcx, 'tcx> dyn AstConv<'gcx, 'tcx> + 'o { for br in late_bound_in_ret.difference(&late_bound_in_args) { let lifetime_name = match *br { ty::BrNamed(_, name) => format!("lifetime `{}`,", name), - ty::BrAnon(_) | ty::BrFresh(_) | ty::BrEnv => "an anonymous lifetime".to_string(), + ty::BrAnon(_) | ty::BrEnv => "an anonymous lifetime".to_string(), }; let mut err = struct_span_err!(tcx.sess, decl.output.span(),