rust/compiler/rustc_middle/src
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
..
dep_graph rustc: Remove needless lifetimes 2022-12-20 22:10:40 +01:00
hir Rollup merge of #104505 - WaffleLapkin:no-double-spaces-in-comments, r=jackh726 2023-01-17 20:21:25 +01:00
infer remove assembly context and impl a bit more 2023-01-18 08:11:15 +01:00
middle rustc: Remove needless lifetimes 2022-12-20 22:10:40 +01:00
mir Rollup merge of #104505 - WaffleLapkin:no-double-spaces-in-comments, r=jackh726 2023-01-17 20:21:25 +01:00
query change item_bounds query to return EarlyBinder; remove bound_item_bounds query 2023-01-17 08:55:28 -07:00
thir Use boxed slices in PatKind. 2022-09-02 07:26:22 +10:00
traits Unify Opaque/Projection handling in region outlives code 2023-01-13 23:53:28 +00:00
ty Rollup merge of #106718 - lcnr:solver-cycles, r=compiler-errors 2023-01-18 15:55:38 +05:30
util Add some docs to bug, span_bug and delay_span_bug 2022-12-30 16:47:56 +01:00
arena.rs Remove output_filenames field from TyCtxt and feed the query instead 2023-01-12 17:14:17 +00:00
error.rs Match crate and slug names 2022-11-21 15:24:50 +01:00
lib.rs Only allow feeding a value to newly created definitions. 2022-11-29 18:43:00 +00:00
lint.rs create helper function for rustc_lint_defs::Level and remove it's duplicated code r=ozkanonur 2023-01-10 10:56:17 +03:00
macros.rs Add some docs to bug, span_bug and delay_span_bug 2022-12-30 16:47:56 +01:00
metadata.rs rustc: Parameterize ty::Visibility over used ID 2022-09-07 13:35:41 +04:00
tests.rs
thir.rs Migrate deconstruct_pat.rs 2023-01-11 14:39:49 -08:00
values.rs add EarlyBinder::subst_identity; impl ParameterizedOverTcx (needed for rustc_metadata) and Value for EarlyBinder 2023-01-14 00:13:06 -07:00