about summary refs log tree commit diff
path: root/compiler/rustc_next_trait_solver/src
AgeCommit message (Collapse)AuthorLines
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-0/+2
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-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/+426