about summary refs log tree commit diff
path: root/compiler/rustc_next_trait_solver
AgeCommit message (Collapse)AuthorLines
2024-06-27Make queries more explicitMichael Goulet-2/+3
2024-06-25Rename tcx to cxMichael Goulet-347/+333
2024-06-24Also migrate FnInputTysMichael Goulet-5/+9
2024-06-24Replace Deref bounds on Interner in favor of a SliceLike traitMichael Goulet-59/+57
2024-06-24Split out IntoIterator and non-Iterator constructors for ↵Michael Goulet-1/+1
AliasTy/AliasTerm/TraitRef/projection
2024-06-21Rename a bunch of thingsMichael Goulet-473/+447
2024-06-18Make rustc_next_trait_solver nightly againMichael Goulet-56/+72
2024-06-18Fix transmute goalMichael Goulet-38/+26
2024-06-18Explicitly import tracing macrosMichael Goulet-7/+14
2024-06-18Fix impl for SolverDelegateMichael Goulet-8/+75
2024-06-18Uplift the new trait solverMichael Goulet-4/+7175
2024-06-18SolverDelegateMichael Goulet-10/+90
2024-06-16Add a noteMichael Goulet-0/+6
2024-06-10Remove some unused crate dependencies.Nicholas Nethercote-14/+1
I found these by setting the `unused_crate_dependencies` lint temporarily to `Warn`.
2024-06-06Uplift TypeRelation and RelateMichael Goulet-8/+11
2024-06-05Add `Ty` to `ConstKind::Value`Boxy-1/+1
2024-06-05Basic removal of `Ty` from places (boring)Boxy-49/+8
2024-05-21Uplift binderMichael Goulet-4/+2
2024-05-20Rework var resolution in InferCtxtLike, uplift EagerResolverMichael Goulet-18/+108
2024-05-18Uplift GenericArgKind, CanonicalVarValues, QueryInputMichael Goulet-1/+13
and make NestedGoals generic
2024-05-10Lift `TraitRef` into `rustc_type_ir`Michael Goulet-3/+3
2024-05-06Use super_fold in RegionsToStatic visitorMichael Goulet-1/+1
2024-04-08Auto merge of #122077 - oli-obk:eager_opaque_checks4, r=lcnrbors-1/+2
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-08Eliminate `DefiningAnchor` now that is just a single-variant enumOli Scherer-2/+2
2024-04-08Pass list of defineable opaque types into canonical queriesOli Scherer-1/+2
2024-04-08Actually create ranged int types in the type system.Oli Scherer-0/+1
2024-03-28Require foldability part of interner item bounds, remove redundant where clausesMichael Goulet-8/+2
2024-03-28Restrict const ty's regions to static when putting them in canonical var listMichael Goulet-23/+56
2024-03-24Rollup merge of #122907 - compiler-errors:uniquify-reerror, r=lcnrMatthias Krüger-2/+1
Uniquify `ReError` on input mode in canonicalizer See test descr Fixes #122861 r? lcnr
2024-03-22Uniquify ReError on input mode in canonicalizerMichael Goulet-2/+1
2024-03-22Programmatically convert some of the pat ctorsMichael Goulet-1/+1
2024-03-04Allow a way to add constructors for rustc_type_ir typesMichael Goulet-3/+4
2024-02-26always emit `AliasRelate` goals when relating aliaseslcnr-8/+30
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-13Move visitable bounds up into internerMichael Goulet-8/+2
2024-02-13Add assertions back to canonicalizerMichael Goulet-3/+10
2024-02-06Add CoroutineClosure to TyKind, AggregateKind, UpvarArgsMichael Goulet-1/+2
2023-12-28Remove movability from TyKind::CoroutineMichael Goulet-1/+1
2023-12-15Opportunistically resolve region var in canonicalizerMichael Goulet-7/+1
2023-12-08Make it not depend on nightly conditionallyMichael Goulet-1/+7
2023-12-08FeedbackMichael Goulet-99/+96
- Take more things by self, not &self - Clone more things - Rework namespacing so we can use `ty::` in the canonicalizer
2023-12-08Uplift canonicalizer into new trait solver crateMichael Goulet-0/+433