Add RegionInferenceContext::outlives_constraints
This commit is contained in:
parent
c6e3f27864
commit
8dac074087
2 changed files with 7 additions and 1 deletions
|
@ -12,6 +12,7 @@ use std::rc::Rc;
|
|||
use crate::borrow_set::BorrowSet;
|
||||
|
||||
pub use super::{
|
||||
constraints::OutlivesConstraint,
|
||||
dataflow::{calculate_borrows_out_of_scope_at_location, BorrowIndex, Borrows},
|
||||
facts::{AllFacts as PoloniusInput, RustcFacts},
|
||||
location::{LocationTable, RichLocation},
|
||||
|
|
|
@ -585,6 +585,11 @@ impl<'tcx> RegionInferenceContext<'tcx> {
|
|||
self.universal_regions.to_region_vid(r)
|
||||
}
|
||||
|
||||
/// Returns an iterator over all the outlives constraints.
|
||||
pub fn outlives_constraints(&self) -> impl Iterator<Item = OutlivesConstraint<'tcx>> + '_ {
|
||||
self.constraints.outlives().iter().copied()
|
||||
}
|
||||
|
||||
/// Adds annotations for `#[rustc_regions]`; see `UniversalRegions::annotate`.
|
||||
pub(crate) fn annotate(&self, tcx: TyCtxt<'tcx>, err: &mut Diagnostic) {
|
||||
self.universal_regions.annotate(tcx, err)
|
||||
|
@ -698,7 +703,7 @@ impl<'tcx> RegionInferenceContext<'tcx> {
|
|||
#[instrument(skip(self, _body), level = "debug")]
|
||||
fn propagate_constraints(&mut self, _body: &Body<'tcx>) {
|
||||
debug!("constraints={:#?}", {
|
||||
let mut constraints: Vec<_> = self.constraints.outlives().iter().collect();
|
||||
let mut constraints: Vec<_> = self.outlives_constraints().collect();
|
||||
constraints.sort_by_key(|c| (c.sup, c.sub));
|
||||
constraints
|
||||
.into_iter()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue