rust/compiler
Matthias Krüger f2f4152290
Rollup merge of #140305 - compiler-errors:coerce-loop, r=lcnr
Track per-obligation recursion depth only if there is inference in the new solver

Track how many times an obligation has been processed in the fulfillment context by reusing its recursion depth, and only overflow if a singular (root) goal hits the limit.

This also fixes a (probably theoretical at this point) problem where we don't detect pseudo-hangs across `select_where_possible` calls.

fixes https://github.com/rust-lang/trait-system-refactor-initiative/issues/186

r? lcnr
2025-04-26 07:13:09 +02:00
..
2025-04-09 12:29:59 +01:00
2025-04-15 10:44:28 -04:00
2025-04-09 10:42:26 +00:00