rust/compiler
Dylan DPC 6f5c3c9cdb
Rollup merge of #106718 - lcnr:solver-cycles, r=compiler-errors
finish trait solver skeleton work

### 648d661b4e0fcf55f7082894f577377eb451db4b

The previous implementation didn't remove provisional entries which depended on the current goal if we're forced to rerun in case the provisional result of that entry is different from the new result. For reference, see https://rust-lang.github.io/chalk/book/recursive/search_graph.html.

We should also treat inductive cycles as overflow, not ordinary ambiguity.

### 219a5de2517cebfe20a2c3417bd302f7c12db70c 6a1912be539dd5a3b3c10be669787c4bf0c1868a

These two commits move canonicalization to the start of the queries which simplifies a bunch of stuff. I originally intended to keep stuff canonicalized for a while because I expected us to add a additional caches the trait solver, either for candidate assembly or for projections. We ended up not adding (and expect to not need) any of them so this just ends up being easier to understand.

### d78d5ad0979e965afde6500bccfa119b47063506

adds a special `eq` for the solver which doesn't care about obligations or spans

### 18704e6a78b7703e1bbb3856f015cb76c0a07a06

implements https://rust-lang.zulipchat.com/#narrow/stream/364551-t-types.2Ftrait-system-refactor/topic/projection.20cache

r? `@compiler-errors`
2023-01-18 15:55:38 +05:30
..
rustc
rustc_abi Rollup merge of #104505 - WaffleLapkin:no-double-spaces-in-comments, r=jackh726 2023-01-17 20:21:25 +01:00
rustc_apfloat
rustc_arena
rustc_ast Rollup merge of #104505 - WaffleLapkin:no-double-spaces-in-comments, r=jackh726 2023-01-17 20:21:25 +01:00
rustc_ast_lowering Rollup merge of #104505 - WaffleLapkin:no-double-spaces-in-comments, r=jackh726 2023-01-17 20:21:25 +01:00
rustc_ast_passes
rustc_ast_pretty Remove double spaces after dots in comments 2023-01-17 08:09:33 +00:00
rustc_attr
rustc_baked_icu_data
rustc_borrowck Rollup merge of #106747 - yanchen4791:issue-105507-fix, r=estebank 2023-01-18 06:59:20 +01:00
rustc_builtin_macros Remove double spaces after dots in comments 2023-01-17 08:09:33 +00:00
rustc_codegen_cranelift Remove double spaces after dots in comments 2023-01-17 08:09:33 +00:00
rustc_codegen_gcc
rustc_codegen_llvm Auto merge of #106998 - matthiaskrgr:rollup-hmfisji, r=matthiaskrgr 2023-01-17 20:53:05 +00:00
rustc_codegen_ssa Rollup merge of #104505 - WaffleLapkin:no-double-spaces-in-comments, r=jackh726 2023-01-17 20:21:25 +01:00
rustc_const_eval Rollup merge of #104505 - WaffleLapkin:no-double-spaces-in-comments, r=jackh726 2023-01-17 20:21:25 +01:00
rustc_data_structures Rollup merge of #104505 - WaffleLapkin:no-double-spaces-in-comments, r=jackh726 2023-01-17 20:21:25 +01:00
rustc_driver Rollup merge of #104505 - WaffleLapkin:no-double-spaces-in-comments, r=jackh726 2023-01-17 20:21:25 +01:00
rustc_error_codes Rollup merge of #104505 - WaffleLapkin:no-double-spaces-in-comments, r=jackh726 2023-01-17 20:21:25 +01:00
rustc_error_messages Rollup merge of #106949 - compiler-errors:is-poly, r=BoxyUwU 2023-01-17 05:25:23 +01:00
rustc_errors Remove double spaces after dots in comments 2023-01-17 08:09:33 +00:00
rustc_expand Rollup merge of #104505 - WaffleLapkin:no-double-spaces-in-comments, r=jackh726 2023-01-17 20:21:25 +01:00
rustc_feature
rustc_fs_util
rustc_graphviz
rustc_hir Remove double spaces after dots in comments 2023-01-17 08:09:33 +00:00
rustc_hir_analysis Rollup merge of #106970 - kylematsuda:earlybinder-item-bounds, r=lcnr 2023-01-17 20:21:28 +01:00
rustc_hir_pretty
rustc_hir_typeck Rollup merge of #106963 - compiler-errors:scope-expr-dupe, r=michaelwoerister 2023-01-17 20:21:27 +01:00
rustc_incremental Remove double spaces after dots in comments 2023-01-17 08:09:33 +00:00
rustc_index
rustc_infer Rollup merge of #106970 - kylematsuda:earlybinder-item-bounds, r=lcnr 2023-01-17 20:21:28 +01:00
rustc_interface
rustc_lexer Remove double spaces after dots in comments 2023-01-17 08:09:33 +00:00
rustc_lint Rollup merge of #104505 - WaffleLapkin:no-double-spaces-in-comments, r=jackh726 2023-01-17 20:21:25 +01:00
rustc_lint_defs
rustc_llvm Remove double spaces after dots in comments 2023-01-17 08:09:33 +00:00
rustc_log
rustc_macros
rustc_metadata Rollup merge of #104505 - WaffleLapkin:no-double-spaces-in-comments, r=jackh726 2023-01-17 20:21:25 +01:00
rustc_middle Rollup merge of #106718 - lcnr:solver-cycles, r=compiler-errors 2023-01-18 15:55:38 +05:30
rustc_mir_build Rollup merge of #104505 - WaffleLapkin:no-double-spaces-in-comments, r=jackh726 2023-01-17 20:21:25 +01:00
rustc_mir_dataflow Remove double spaces after dots in comments 2023-01-17 08:09:33 +00:00
rustc_mir_transform Rollup merge of #104505 - WaffleLapkin:no-double-spaces-in-comments, r=jackh726 2023-01-17 20:21:25 +01:00
rustc_monomorphize
rustc_parse Rollup merge of #104505 - WaffleLapkin:no-double-spaces-in-comments, r=jackh726 2023-01-17 20:21:25 +01:00
rustc_parse_format
rustc_passes Rollup merge of #104505 - WaffleLapkin:no-double-spaces-in-comments, r=jackh726 2023-01-17 20:21:25 +01:00
rustc_plugin_impl
rustc_privacy
rustc_query_impl
rustc_query_system Remove double spaces after dots in comments 2023-01-17 08:09:33 +00:00
rustc_resolve Rollup merge of #104505 - WaffleLapkin:no-double-spaces-in-comments, r=jackh726 2023-01-17 20:21:25 +01:00
rustc_save_analysis
rustc_serialize
rustc_session Rollup merge of #104505 - WaffleLapkin:no-double-spaces-in-comments, r=jackh726 2023-01-17 20:21:25 +01:00
rustc_smir
rustc_span Rollup merge of #104505 - WaffleLapkin:no-double-spaces-in-comments, r=jackh726 2023-01-17 20:21:25 +01:00
rustc_symbol_mangling
rustc_target Rollup merge of #104505 - WaffleLapkin:no-double-spaces-in-comments, r=jackh726 2023-01-17 20:21:25 +01:00
rustc_trait_selection add comment 2023-01-18 08:11:15 +01:00
rustc_traits Rollup merge of #104505 - WaffleLapkin:no-double-spaces-in-comments, r=jackh726 2023-01-17 20:21:25 +01:00
rustc_transmute
rustc_ty_utils Auto merge of #106294 - Nilstrieb:noundef-everything, r=nikic 2023-01-17 17:39:48 +00:00
rustc_type_ir Remove double spaces after dots in comments 2023-01-17 08:09:33 +00:00