about summary refs log tree commit diff
path: root/compiler/rustc_target/src/spec/mod.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2025-06-06 15:20:21 +0000
committerbors <bors@rust-lang.org>2025-06-06 15:20:21 +0000
commit9f0e5d963d05ebcf7ae1ca1f4bda3668c702acda (patch)
tree13d4d22be2ff9ad092036380a593964502287023 /compiler/rustc_target/src/spec/mod.rs
parentf315e6145802e091ff9fceab6db627a4b4ec2b86 (diff)
parent9899464906c577ae39e267d1cfb6f55cbe6067cc (diff)
downloadrust-9f0e5d963d05ebcf7ae1ca1f4bda3668c702acda.tar.gz
rust-9f0e5d963d05ebcf7ae1ca1f4bda3668c702acda.zip
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
Diffstat (limited to 'compiler/rustc_target/src/spec/mod.rs')
0 files changed, 0 insertions, 0 deletions