rust/tests/ui/impl-trait
bors 78efca8845 Auto merge of #117278 - lcnr:try-normalize-ty, r=compiler-errors
new solver normalization improvements

cool beans

At the core of this PR is a `try_normalize_ty` which stops for rigid aliases by using `commit_if_ok`.

Reworks alias-relate to fully normalize both the lhs and rhs and then equate the resulting rigid (or inference) types. This fixes https://github.com/rust-lang/trait-system-refactor-initiative/issues/68 by avoiding the exponential blowup. Also supersedes #116369 by only defining opaque types if the hidden type is rigid.

I removed the stability check in `EvalCtxt::evaluate_goal` due to https://github.com/rust-lang/trait-system-refactor-initiative/issues/75. While I personally have opinions on how to fix it, that still requires further t-types/`@nikomatsakis` buy-in, so I removed that for now. Once we've decided on our approach there, we can revert this commit.

r? `@compiler-errors`
2023-11-17 10:16:41 +00:00
..
2023-10-20 21:14:01 +00:00
2023-08-14 15:25:20 +02:00
2023-10-20 21:14:01 +00:00
2023-09-21 08:17:58 +02:00
2023-09-23 13:47:30 +00:00
2023-07-03 21:40:04 +00:00
2023-10-20 21:14:01 +00:00
2023-10-04 19:51:43 +00:00
2023-06-27 21:36:15 +00:00
2023-11-09 11:32:51 +01:00
2023-11-09 11:32:51 +01:00
2023-11-09 11:32:51 +01:00
2023-11-09 11:32:51 +01:00
2023-11-09 11:32:51 +01:00
2023-06-26 19:14:49 +00:00
2023-08-28 01:05:34 +00:00
2023-04-25 19:53:09 +00:00
2023-10-13 21:01:36 +00:00
2023-10-13 21:01:36 +00:00