Tweaks to writeback and Obligation -> Goal conversion by compiler-errors · Pull Request #138846 · rust-lang/rust (original) (raw)

Each of these commits are self-contained, but are prerequisites that I'd like to land before #138845, which still needs some cleaning.

The ""most controversial"" one is probably Explicitly don't fold coroutine obligations in writeback, which I prefer because I think using fold_predicate to control against not normalizing predicates seems... easy to mess up 🤔, and we could have other things that we don't want to normalize.

Explicitly noting whether we want resolve to normalize is a lot clearer (and currently in writeback is limited to resolving stalled coroutine obligations), since we can attach it to a comment that explains why.