rust/compiler/rustc_trait_selection
bors 9f0e5d963d Auto merge of #141681 - compiler-errors:fast-path-stalled, r=lcnr
Fast path for stalled obligations on self ty

If we see that the `self` type of a goal is an infer var, then don't try to compute the goal at all, since we know that it'll be forced ambiguous.

This is currently only implemented when there are no opaques in the environment. We could extend it to check that the self type is not related to any already defined opaques via subtyping, but I'll leave that as a follow-up.

---

Also stall coerce and subtype predicates if both of their vars are not resolved to concrete types.

---

~~Also, we don't care if the goal is higher-ranked for the sized and copy/clone fast path.~~ pulling this out into another PR.

r? lcnr
2025-06-06 15:20:21 +00:00
..
src Auto merge of #141681 - compiler-errors:fast-path-stalled, r=lcnr 2025-06-06 15:20:21 +00:00
Cargo.toml support duplicates in the opaque_types_storage 2025-05-06 14:59:09 +00:00
messages.ftl Add iter macro 2025-06-03 10:52:32 -07:00