Auto merge of #93089 - pierwill:rm-outlivesconstraint-ord, r=michaelwoerister
Remove ordering traits from `OutlivesConstraint` In two cases where this ordering was used, I've replaced the sorting to use a key that does not rely on `DefId` being `Ord`. This is part of #90317. If I understand correctly, whether this is correct depends on whether the `RegionVid`s are tracked during incremental compilation. But I might be mistaken in this approach. cc `@cjgillot`
This commit is contained in:
commit
17dfae79bb
@ -72,7 +72,7 @@ fn index(&self, i: OutlivesConstraintIndex) -> &Self::Output {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, PartialEq, Eq, PartialOrd, Ord)]
|
||||
#[derive(Clone, PartialEq, Eq)]
|
||||
pub struct OutlivesConstraint<'tcx> {
|
||||
// NB. The ordering here is not significant for correctness, but
|
||||
// it is for convenience. Before we dump the constraints in the
|
||||
|
@ -72,7 +72,7 @@ fn for_each_constraint(
|
||||
}
|
||||
|
||||
let mut constraints: Vec<_> = self.constraints.outlives().iter().collect();
|
||||
constraints.sort();
|
||||
constraints.sort_by_key(|c| (c.sup, c.sub));
|
||||
for constraint in &constraints {
|
||||
let OutlivesConstraint { sup, sub, locations, category, variance_info: _ } = constraint;
|
||||
let (name, arg) = match locations {
|
||||
|
@ -612,7 +612,7 @@ pub(super) fn solve(
|
||||
fn propagate_constraints(&mut self, _body: &Body<'tcx>) {
|
||||
debug!("constraints={:#?}", {
|
||||
let mut constraints: Vec<_> = self.constraints.outlives().iter().collect();
|
||||
constraints.sort();
|
||||
constraints.sort_by_key(|c| (c.sup, c.sub));
|
||||
constraints
|
||||
.into_iter()
|
||||
.map(|c| (c, self.constraint_sccs.scc(c.sup), self.constraint_sccs.scc(c.sub)))
|
||||
|
Loading…
Reference in New Issue
Block a user