许杰友 Jieyou Xu (Joe)
ffb93361b4
Rollup merge of #127439 - compiler-errors:uplift-elaborate, r=lcnr
...
Uplift elaboration into `rustc_type_ir`
Allows us to deduplicate and consolidate elaboration (including these stupid elaboration duplicate fns i added for pretty printing like 3 years ago) so I'm pretty hyped about this change :3
r? lcnr
2024-07-08 13:04:33 +08:00
Michael Goulet
15d16f1cd6
Finish uplifting supertraits
2024-07-07 11:28:01 -04:00
Michael Goulet
66eb346770
Get rid of the redundant elaboration in middle
2024-07-07 11:28:01 -04:00
Michael Goulet
90423a7abb
Uplift elaboration
2024-07-07 11:28:01 -04:00
Michael Goulet
ab27c2fa77
Get rid of trait_ref_is_knowable from delegate
2024-07-07 11:10:48 -04:00
Michael Goulet
a982471e07
Uplift trait_ref_is_knowable and friends
2024-07-07 11:10:32 -04:00
Michael Goulet
e5d6a416e8
Uplift PredicateEmittingRelation first
2024-07-06 10:05:49 -04:00
Michael Goulet
27588d1de3
Split SolverDelegate back out from InferCtxtLike
2024-07-05 16:39:39 -04:00
Matthias Krüger
02916a3193
Rollup merge of #127145 - compiler-errors:as_lang_item, r=lcnr
...
Add `as_lang_item` to `LanguageItems`, new trait solver
Add `as_lang_item` which turns `DefId` into a `TraitSolverLangItem` in the new trait solver, so we can turn the large chain of if statements in `assemble_builtin_impl_candidates` into a match instead.
r? lcnr
2024-07-03 17:26:54 +02:00
Michael Goulet
5a837515f2
Make fn traits into first-class TraitSolverLangItems to avoid needing fn_trait_kind_from_def_id
2024-07-02 16:37:24 -04:00
Michael Goulet
a21ba34896
add TyCtxt::as_lang_item, use in new solver
2024-07-02 16:16:52 -04:00
Matthias Krüger
36da46ab98
Rollup merge of #127146 - compiler-errors:fast-reject, r=lcnr
...
Uplift fast rejection to new solver
Self explanatory.
r? lcnr
2024-07-02 17:47:47 +02:00
Michael Goulet
53db64168f
Uplift fast rejection to new solver
2024-06-30 00:27:35 -04:00
bors
ba1d7f4a08
Auto merge of #120639 - fee1-dead-contrib:new-effects-desugaring, r=oli-obk
...
Implement new effects desugaring
cc `@rust-lang/project-const-traits.` Will write down notes once I have finished.
* [x] See if we want `T: Tr` to desugar into `T: Tr, T::Effects: Compat<true>`
* [x] Fix ICEs on `type Assoc: ~const Tr` and `type Assoc<T: ~const Tr>`
* [ ] add types and traits to minicore test
* [ ] update rustc-dev-guide
Fixes #119717
Fixes #123664
Fixes #124857
Fixes #126148
2024-06-29 20:08:10 +00:00
Deadbeef
65a0bee0b7
address review comments
2024-06-28 15:44:20 +00:00
Deadbeef
8b2fac9612
finishing touches, move fixed ICEs to ui tests
2024-06-28 10:57:35 +00:00
Deadbeef
0a2330630d
general fixups and turn TODO
s into FIXME
s
2024-06-28 10:57:35 +00:00
Deadbeef
c7d27a15d0
Implement Min
trait in new solver
2024-06-28 10:57:35 +00:00
Michael Goulet
81c2c57519
Make queries more explicit
2024-06-27 12:03:57 -04:00
Michael Goulet
275d922dab
Rename tcx to cx
2024-06-25 17:36:52 -04:00
Michael Goulet
d521e2148e
Also migrate FnInputTys
2024-06-24 11:53:34 -04:00
Michael Goulet
24e41f1d13
Replace Deref bounds on Interner in favor of a SliceLike trait
2024-06-24 11:53:34 -04:00
Michael Goulet
f26cc349d9
Split out IntoIterator and non-Iterator constructors for AliasTy/AliasTerm/TraitRef/projection
2024-06-24 11:28:21 -04:00
Michael Goulet
db638ab968
Rename a bunch of things
2024-06-21 12:32:05 -04:00
Michael Goulet
9b0f9ef42e
Make rustc_next_trait_solver nightly again
2024-06-18 18:52:48 -04:00
Michael Goulet
6609501ca7
Fix transmute goal
2024-06-18 11:04:01 -04:00
Michael Goulet
fb6f4b4a6e
Explicitly import tracing macros
2024-06-18 11:04:01 -04:00
Michael Goulet
7d2be888b6
Fix impl for SolverDelegate
2024-06-18 11:04:01 -04:00
Michael Goulet
532149eb88
Uplift the new trait solver
2024-06-18 10:55:34 -04:00
Michael Goulet
baf94bddf0
SolverDelegate
2024-06-18 10:40:30 -04:00
Michael Goulet
4c2d888a50
Add a note
2024-06-16 11:28:47 -04:00
Nicholas Nethercote
29629d0075
Remove some unused crate dependencies.
...
I found these by setting the `unused_crate_dependencies` lint
temporarily to `Warn`.
2024-06-10 19:55:49 +10:00
Michael Goulet
91274c84b9
Uplift TypeRelation and Relate
2024-06-06 07:50:19 -04:00
Boxy
a9702a6668
Add Ty
to ConstKind::Value
2024-06-05 22:25:41 +01:00
Boxy
58feec9b85
Basic removal of Ty
from places (boring)
2024-06-05 22:25:38 +01:00
Michael Goulet
28ce588321
Uplift binder
2024-05-21 17:00:45 -04:00
Michael Goulet
b0f1afd1fc
Rework var resolution in InferCtxtLike, uplift EagerResolver
2024-05-20 13:57:58 -04:00
Michael Goulet
05e0f8740a
Uplift GenericArgKind, CanonicalVarValues, QueryInput
...
and make NestedGoals generic
2024-05-18 16:21:43 -04:00
Michael Goulet
1e5ec0a12c
Lift TraitRef
into rustc_type_ir
2024-05-10 15:44:03 -04:00
Michael Goulet
116f95bb46
Use super_fold in RegionsToStatic visitor
2024-05-06 12:22:15 -04:00
bors
b234e44944
Auto merge of #122077 - oli-obk:eager_opaque_checks4, r=lcnr
...
Pass list of defineable opaque types into canonical queries
This eliminates `DefiningAnchor::Bubble` for good and brings the old solver closer to the new one wrt cycles and nested obligations. At that point the difference between `DefiningAnchor::Bind([])` and `DefiningAnchor::Error` was academic. We only used the difference for some sanity checks, which actually had to be worked around in places, so I just removed `DefiningAnchor` entirely and just stored the list of opaques that may be defined.
fixes #108498
fixes https://github.com/rust-lang/rust/issues/116877
* [x] run crater
- https://github.com/rust-lang/rust/pull/122077#issuecomment-2013293931
2024-04-08 23:01:50 +00:00
Oli Scherer
2f2350e577
Eliminate DefiningAnchor
now that is just a single-variant enum
2024-04-08 15:00:27 +00:00
Oli Scherer
19bd91d128
Pass list of defineable opaque types into canonical queries
2024-04-08 15:00:26 +00:00
Oli Scherer
84acfe86de
Actually create ranged int types in the type system.
2024-04-08 12:02:19 +00:00
Michael Goulet
6439c7fe23
Require foldability part of interner item bounds, remove redundant where clauses
2024-03-28 12:30:52 -04:00
Michael Goulet
08c7ff2264
Restrict const ty's regions to static when putting them in canonical var list
2024-03-28 12:30:52 -04:00
Matthias Krüger
cb03714e6f
Rollup merge of #122907 - compiler-errors:uniquify-reerror, r=lcnr
...
Uniquify `ReError` on input mode in canonicalizer
See test descr
Fixes #122861
r? lcnr
2024-03-24 01:05:53 +01:00
Michael Goulet
1fcf2eaa9f
Uniquify ReError on input mode in canonicalizer
2024-03-22 16:35:50 -04:00
Michael Goulet
ff0c31e6b9
Programmatically convert some of the pat ctors
2024-03-22 11:13:29 -04:00
Michael Goulet
1eedca8bdf
Allow a way to add constructors for rustc_type_ir types
2024-03-04 15:39:59 +00:00