rust/tests
bors eb9da7bfa3 Auto merge of #111473 - compiler-errors:opaques, r=lcnr
Handle opaques in the new solver (take 2?)

Implement a new strategy for handling opaques in the new solver.

First, queries now carry both their defining anchor and the opaques that were defined in the inference context at the time of canonicalization. These are both used to pre-populate the inference context used by the canonical query.

Second, use the normalizes-to goal to handle opaque types in the new solver. This means that opaques are handled like projection aliases, but with their own rules:
* Can only define opaques if they're "defining uses" (i.e. have unique params in all their substs).
* Can only define opaques that are from the anchor.
* Opaque type definitions are modulo regions. So that means `Opaque<'?0r> = HiddenTy1` and `Opaque<?'1r> = HiddenTy2` equate `HiddenTy1` and `HiddenTy2` instead of defining them as different opaque type keys.
2023-05-25 08:41:54 +00:00
..
assembly
auxiliary
codegen
codegen-units
debuginfo
incremental
mir-opt
pretty
run-make
run-make-fulldeps
run-pass-valgrind
rustdoc
rustdoc-gui Migrate GUI colors test to original CSS color format 2023-05-24 14:41:18 +02:00
rustdoc-js
rustdoc-js-std
rustdoc-json
rustdoc-ui
ui Auto merge of #111473 - compiler-errors:opaques, r=lcnr 2023-05-25 08:41:54 +00:00
ui-fulldeps
COMPILER_TESTS.md