rust/compiler/rustc_next_trait_solver/src/solve
Matthias Krüger d55e2e4333
Rollup merge of #137314 - lcnr:cycles-with-unknown-kind, r=compiler-errors
change definitely unproductive cycles to error

builds on top of #136824 by adding a third variant to `PathKind` for paths which may change to be coinductive in the future but must not be so right now. Most notably, impl where-clauses of not yet coinductive traits.

With this, we can change cycles which are definitely unproductive to a proper error. This fixes https://github.com/rust-lang/trait-system-refactor-initiative/issues/114. This does not affect stable as we keep these cycles as ambiguous during coherence.

r? ````````@compiler-errors```````` ````````@nikomatsakis````````
2025-03-12 17:59:06 +01:00
..
assembly Use bound_coroutine_witnesses in old solver 2025-02-26 17:32:53 +00:00
eval_ctxt change definitely non-productive cycles to error 2025-03-05 10:06:43 +01:00
inspect change definitely non-productive cycles to error 2025-03-05 10:06:43 +01:00
normalizes_to fix typo 2025-02-28 12:16:47 +01:00
alias_relate.rs don't ICE for alias-relate goals with error term 2025-02-18 10:30:37 +01:00
effect_goals.rs normalizes-to rework rigid alias handling 2025-02-13 20:19:11 +00:00
mod.rs change definitely non-productive cycles to error 2025-03-05 10:06:43 +01:00
project_goals.rs change definitely non-productive cycles to error 2025-03-05 10:06:43 +01:00
search_graph.rs keep inductive cycles as ambig in coherence 2025-03-05 10:06:43 +01:00
trait_goals.rs Rollup merge of #137728 - Darksonn:no-tuple-unsize, r=oli-obk 2025-03-05 21:46:44 +08:00