Use FxIndexMap instead of BTreeMap to avoid sorting DefId
s
This commit is contained in:
parent
ae24fef028
commit
5ae546e108
@ -1,14 +1,14 @@
|
|||||||
|
use rustc_data_structures::fx::FxIndexMap;
|
||||||
use rustc_infer::infer::outlives::components::{push_outlives_components, Component};
|
use rustc_infer::infer::outlives::components::{push_outlives_components, Component};
|
||||||
use rustc_middle::ty::{self, Region, Ty, TyCtxt};
|
use rustc_middle::ty::{self, Region, Ty, TyCtxt};
|
||||||
use rustc_middle::ty::{GenericArg, GenericArgKind};
|
use rustc_middle::ty::{GenericArg, GenericArgKind};
|
||||||
use rustc_span::Span;
|
use rustc_span::Span;
|
||||||
use smallvec::smallvec;
|
use smallvec::smallvec;
|
||||||
use std::collections::BTreeMap;
|
|
||||||
|
|
||||||
/// Tracks the `T: 'a` or `'a: 'a` predicates that we have inferred
|
/// Tracks the `T: 'a` or `'a: 'a` predicates that we have inferred
|
||||||
/// must be added to the struct header.
|
/// must be added to the struct header.
|
||||||
pub(crate) type RequiredPredicates<'tcx> =
|
pub(crate) type RequiredPredicates<'tcx> =
|
||||||
BTreeMap<ty::OutlivesPredicate<GenericArg<'tcx>, ty::Region<'tcx>>, Span>;
|
FxIndexMap<ty::OutlivesPredicate<GenericArg<'tcx>, ty::Region<'tcx>>, Span>;
|
||||||
|
|
||||||
/// Given a requirement `T: 'a` or `'b: 'a`, deduce the
|
/// Given a requirement `T: 'a` or `'b: 'a`, deduce the
|
||||||
/// outlives_component and add it to `required_predicates`
|
/// outlives_component and add it to `required_predicates`
|
||||||
|
Loading…
x
Reference in New Issue
Block a user