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
lcnr
1b3164f5c9
always emit AliasRelate
goals when relating aliases
...
Add `StructurallyRelateAliases` to allow instantiating infer vars with rigid aliases.
Change `instantiate_query_response` to be infallible in the new solver. This requires canonicalization to not hide any information used by the query, so weaken
universe compression. It also modifies `term_is_fully_unconstrained` to allow
region inference variables in a higher universe.
2024-02-26 10:17:43 +01:00
Michael Goulet
7e80867f3c
Move visitable bounds up into interner
2024-02-13 15:53:15 +00:00
Michael Goulet
edc5053352
Add assertions back to canonicalizer
2024-02-13 15:40:59 +00:00
Michael Goulet
c567eddec2
Add CoroutineClosure to TyKind, AggregateKind, UpvarArgs
2024-02-06 02:22:58 +00:00
Michael Goulet
fcb42b42d6
Remove movability from TyKind::Coroutine
2023-12-28 16:35:01 +00:00
Michael Goulet
146e345d8b
Opportunistically resolve region var in canonicalizer
2023-12-15 05:02:37 +00:00
Michael Goulet
80f240a539
Make it not depend on nightly conditionally
2023-12-08 17:44:01 +00:00
Michael Goulet
1f5895b3e3
Feedback
...
- Take more things by self, not &self
- Clone more things
- Rework namespacing so we can use `ty::` in the canonicalizer
2023-12-08 17:44:01 +00:00
Michael Goulet
cb41509601
Uplift canonicalizer into new trait solver crate
2023-12-08 17:44:01 +00:00