Elaborate supertraits in dyn candidates

This commit is contained in:
Michael Goulet
2024-07-18 12:08:57 -04:00
parent 6a891ec4fe
commit fa9ae7b9d3
3 changed files with 15 additions and 6 deletions

View File

@@ -87,9 +87,9 @@ where
.map(|pred| goal.with(cx, pred));
ecx.add_goals(GoalSource::ImplWhereBound, where_clause_bounds);
// We currently elaborate all supertrait obligations from impls. This
// can be removed when we actually do coinduction correctly and just
// register that the impl header must be WF.
// We currently elaborate all supertrait outlives obligations from impls.
// This can be removed when we actually do coinduction correctly, and prove
// all supertrait obligations unconditionally.
let goal_clause: I::Clause = goal.predicate.upcast(cx);
for clause in elaborate::elaborate(cx, [goal_clause]) {
if matches!(