Skip to content

Commit f848fd3

Browse files
Remove trivial region constraints
1 parent eaf8af5 commit f848fd3

File tree

1 file changed

+6
-1
lines changed
  • compiler/rustc_trait_selection/src/solve/eval_ctxt

1 file changed

+6
-1
lines changed

compiler/rustc_trait_selection/src/solve/eval_ctxt/canonical.rs

+6-1
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,13 @@ impl<'tcx> EvalCtxt<'_, 'tcx> {
9494
let var_values = self.var_values;
9595
let external_constraints = self.compute_external_query_constraints()?;
9696

97-
let (var_values, external_constraints) =
97+
let (var_values, mut external_constraints) =
9898
(var_values, external_constraints).fold_with(&mut EagerResolver { infcx: self.infcx });
99+
// Remove any trivial region constraints once we've resolved regions
100+
external_constraints
101+
.region_constraints
102+
.outlives
103+
.retain(|(outlives, _)| outlives.0.as_region().map_or(true, |re| re != outlives.1));
99104

100105
let canonical = Canonicalizer::canonicalize(
101106
self.infcx,

0 commit comments

Comments
 (0)