rust/src/test
nils fd5af8cc23
Rollup merge of #105661 - lcnr:evaluate-new, r=compiler-errors
implement the skeleton of the updated trait solver

cc ```@rust-lang/initiative-trait-system-refactor```

This is mostly following the architecture discussed in the types team meetup.

After discussing the desired changes for the trait solver, we encountered cyclic dependencies between them. Most notably between changing evaluate to be canonical and returning inference constraints. We cannot canonicalize evaluate without returning inference constraints due to coinductive cycles. However, caching inference constraints also relies on canonicalization. Implementing both of these changes at once in-place is not feasible.

This somewhat closely mirrors the current `evaluate` implementation with the following notable differences:
- it moves `project` into the core solver, allowing us to correctly deal with coinductive projections (will be required for implied bounds, perfect derive)
- it changes trait solver overflow to be non-fatal (required to backcompat breakage from changes to the iteration order of nested goals, deferred projection equality, generally very useful)
- it returns inference constraints and canonicalizes inputs and outputs (required for a lot things, most notably merging fulfill and evaluate, and deferred projection equality)
- it is implemented to work with lazy normalization

A lot of things aren't yet implemented, but the remaining FIXMEs should all be fairly self-contained and parallelizable. If the architecture looks correct and is what we want here, I would like to quickly merge this and then split the work.

r? ```@compiler-errors``` / ```@rust-lang/types``` :3
2022-12-23 18:02:13 +01:00
..
assembly Add -Zno-jump-tables 2022-12-20 21:42:54 +01:00
auxiliary
codegen Rollup merge of #105567 - TimNN:kcfi16, r=nikic 2022-12-22 19:36:12 +01:00
codegen-units Statics used in reachable function's inline asm are reachable 2022-11-28 18:28:05 +01:00
debuginfo Fix pretty-std test 2022-11-27 23:15:55 +01:00
incremental Bless incremental tests 2022-12-08 17:28:21 +00:00
mir-opt Auto merge of #103957 - JakobDegen:drop-retag, r=RalfJung 2022-12-22 17:48:43 +00:00
pretty Rollup merge of #99939 - saethlin:pre-sort-tests, r=thomcc,jackh726 2022-10-24 19:32:25 +09:00
run-make Rollup merge of #105385 - uweigand:s390x-test-lld, r=Mark-Simulacrum 2022-12-09 22:31:56 +01:00
run-make-fulldeps core: ensure no_fp_fmt_parse builds are warning-free 2022-12-17 00:19:59 +01:00
run-pass-valgrind Bless more tests 2022-11-05 18:05:45 +00:00
rustdoc Auto merge of #106034 - matthiaskrgr:rollup-2zpql33, r=matthiaskrgr 2022-12-22 11:06:51 +00:00
rustdoc-gui Rollup merge of #106035 - GuillaumeGomez:migrate-css-var-search-tab-title-color, r=notriddle 2022-12-22 19:36:14 +01:00
rustdoc-js Add regression test for reexports in search results 2022-10-30 13:58:00 +01:00
rustdoc-js-std
rustdoc-json Add test for #105022 2022-12-02 17:05:37 +00:00
rustdoc-ui Auto merge of #104889 - GuillaumeGomez:fix-impl-block-in-const-expr, r=notriddle 2022-12-22 08:37:58 +00:00
ui Rollup merge of #105661 - lcnr:evaluate-new, r=compiler-errors 2022-12-23 18:02:13 +01:00
ui-fulldeps docs: add long-form error-code docs for E0457 2022-12-19 08:55:08 +13:00
COMPILER_TESTS.md