Remove a now-unused trait
This commit is contained in:
parent
07b8bbb1f6
commit
3ea956b8c5
2 changed files with 1 additions and 44 deletions
|
@ -1,20 +1,18 @@
|
||||||
use rustc_data_structures::frozen::Frozen;
|
use rustc_data_structures::frozen::Frozen;
|
||||||
use rustc_data_structures::transitive_relation::TransitiveRelation;
|
use rustc_data_structures::transitive_relation::TransitiveRelation;
|
||||||
use rustc_infer::infer::canonical::QueryRegionConstraints;
|
use rustc_infer::infer::canonical::QueryRegionConstraints;
|
||||||
use rustc_infer::infer::free_regions::FreeRegionRelations;
|
|
||||||
use rustc_infer::infer::outlives;
|
use rustc_infer::infer::outlives;
|
||||||
use rustc_infer::infer::region_constraints::GenericKind;
|
use rustc_infer::infer::region_constraints::GenericKind;
|
||||||
use rustc_infer::infer::InferCtxt;
|
use rustc_infer::infer::InferCtxt;
|
||||||
use rustc_middle::mir::ConstraintCategory;
|
use rustc_middle::mir::ConstraintCategory;
|
||||||
use rustc_middle::traits::query::OutlivesBound;
|
use rustc_middle::traits::query::OutlivesBound;
|
||||||
use rustc_middle::ty::{self, RegionVid, Ty, TyCtxt};
|
use rustc_middle::ty::{self, RegionVid, Ty};
|
||||||
use rustc_span::DUMMY_SP;
|
use rustc_span::DUMMY_SP;
|
||||||
use rustc_trait_selection::traits::query::type_op::{self, TypeOp};
|
use rustc_trait_selection::traits::query::type_op::{self, TypeOp};
|
||||||
use std::rc::Rc;
|
use std::rc::Rc;
|
||||||
use type_op::TypeOpOutput;
|
use type_op::TypeOpOutput;
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
nll::ToRegionVid,
|
|
||||||
type_check::constraint_conversion,
|
type_check::constraint_conversion,
|
||||||
type_check::{Locations, MirTypeckRegionConstraints},
|
type_check::{Locations, MirTypeckRegionConstraints},
|
||||||
universal_regions::UniversalRegions,
|
universal_regions::UniversalRegions,
|
||||||
|
@ -383,21 +381,3 @@ impl UniversalRegionRelationsBuilder<'cx, 'tcx> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// This trait is used by the `impl-trait` constraint code to abstract
|
|
||||||
/// over the `FreeRegionMap` from lexical regions and
|
|
||||||
/// `UniversalRegions` (from NLL)`.
|
|
||||||
impl<'tcx> FreeRegionRelations<'tcx> for UniversalRegionRelations<'tcx> {
|
|
||||||
fn sub_free_regions(
|
|
||||||
&self,
|
|
||||||
_tcx: TyCtxt<'tcx>,
|
|
||||||
shorter: ty::Region<'tcx>,
|
|
||||||
longer: ty::Region<'tcx>,
|
|
||||||
) -> bool {
|
|
||||||
let shorter = shorter.to_region_vid();
|
|
||||||
assert!(self.universal_regions.is_universal_region(shorter));
|
|
||||||
let longer = longer.to_region_vid();
|
|
||||||
assert!(self.universal_regions.is_universal_region(longer));
|
|
||||||
self.outlives(longer, shorter)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -66,8 +66,6 @@ impl<'tcx> FreeRegionMap<'tcx> {
|
||||||
/// follows. If we know that `r_b: 'static`, then this function
|
/// follows. If we know that `r_b: 'static`, then this function
|
||||||
/// will return true, even though we don't know anything that
|
/// will return true, even though we don't know anything that
|
||||||
/// directly relates `r_a` and `r_b`.
|
/// directly relates `r_a` and `r_b`.
|
||||||
///
|
|
||||||
/// Also available through the `FreeRegionRelations` trait below.
|
|
||||||
pub fn sub_free_regions(
|
pub fn sub_free_regions(
|
||||||
&self,
|
&self,
|
||||||
tcx: TyCtxt<'tcx>,
|
tcx: TyCtxt<'tcx>,
|
||||||
|
@ -131,27 +129,6 @@ impl<'tcx> FreeRegionMap<'tcx> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// The NLL region handling code represents free region relations in a
|
|
||||||
/// slightly different way; this trait allows functions to be abstract
|
|
||||||
/// over which version is in use.
|
|
||||||
pub trait FreeRegionRelations<'tcx> {
|
|
||||||
/// Tests whether `r_a <= r_b`. Both must be free regions or
|
|
||||||
/// `'static`.
|
|
||||||
fn sub_free_regions(
|
|
||||||
&self,
|
|
||||||
tcx: TyCtxt<'tcx>,
|
|
||||||
shorter: ty::Region<'tcx>,
|
|
||||||
longer: ty::Region<'tcx>,
|
|
||||||
) -> bool;
|
|
||||||
}
|
|
||||||
|
|
||||||
impl<'tcx> FreeRegionRelations<'tcx> for FreeRegionMap<'tcx> {
|
|
||||||
fn sub_free_regions(&self, tcx: TyCtxt<'tcx>, r_a: Region<'tcx>, r_b: Region<'tcx>) -> bool {
|
|
||||||
// invoke the "inherent method"
|
|
||||||
self.sub_free_regions(tcx, r_a, r_b)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl<'a, 'tcx> Lift<'tcx> for FreeRegionMap<'a> {
|
impl<'a, 'tcx> Lift<'tcx> for FreeRegionMap<'a> {
|
||||||
type Lifted = FreeRegionMap<'tcx>;
|
type Lifted = FreeRegionMap<'tcx>;
|
||||||
fn lift_to_tcx(self, tcx: TyCtxt<'tcx>) -> Option<FreeRegionMap<'tcx>> {
|
fn lift_to_tcx(self, tcx: TyCtxt<'tcx>) -> Option<FreeRegionMap<'tcx>> {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue