summary refs log tree commit diff
path: root/compiler/rustc_next_trait_solver/src
AgeCommit message (Collapse)AuthorLines
2024-07-12enable fuzzing of `SearchGraph`lcnr-592/+114
fully move it into `rustc_type_ir` and make it independent of `Interner`.
2024-07-10Rollup merge of #127508 - lcnr:search-graph-prep, r=compiler-errorsJacob Pratt-34/+32
small search graph refactor small improvements which shouldn't impact behavior. r? ``````@compiler-errors``````
2024-07-09cycle_participants to nested_goalslcnr-11/+11
2024-07-09use `update_parent_goal` for lazy updateslcnr-20/+10
2024-07-09exhaustively destructure external constraintslcnr-3/+11
2024-07-08Rollup merge of #127439 - compiler-errors:uplift-elaborate, r=lcnr许杰友 Jieyou Xu (Joe)-12/+8
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-07Finish uplifting supertraitsMichael Goulet-8/+3
2024-07-07Get rid of the redundant elaboration in middleMichael Goulet-3/+2
2024-07-07Uplift elaborationMichael Goulet-1/+3
2024-07-07Get rid of trait_ref_is_knowable from delegateMichael Goulet-10/+3
2024-07-07Uplift trait_ref_is_knowable and friendsMichael Goulet-0/+470
2024-07-06Uplift PredicateEmittingRelation firstMichael Goulet-0/+50
2024-07-05Split SolverDelegate back out from InferCtxtLikeMichael Goulet-93/+14
2024-07-03Rollup merge of #127145 - compiler-errors:as_lang_item, r=lcnrMatthias Krüger-41/+76
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-02Make fn traits into first-class TraitSolverLangItems to avoid needing ↵Michael Goulet-4/+26
fn_trait_kind_from_def_id
2024-07-02add TyCtxt::as_lang_item, use in new solverMichael Goulet-37/+50
2024-07-02Rollup merge of #127146 - compiler-errors:fast-reject, r=lcnrMatthias Krüger-2/+5
Uplift fast rejection to new solver Self explanatory. r? lcnr
2024-06-30Uplift fast rejection to new solverMichael Goulet-2/+5
2024-06-29Auto merge of #120639 - fee1-dead-contrib:new-effects-desugaring, r=oli-obkbors-0/+110
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-28address review commentsDeadbeef-7/+11
2024-06-28finishing touches, move fixed ICEs to ui testsDeadbeef-4/+4
2024-06-28general fixups and turn `TODO`s into `FIXME`sDeadbeef-5/+4
2024-06-28Implement `Min` trait in new solverDeadbeef-0/+107
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-55/+71
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-3/+7158
2024-06-18SolverDelegateMichael Goulet-10/+90
2024-06-16Add a noteMichael Goulet-0/+6
2024-06-06Uplift TypeRelation and RelateMichael Goulet-4/+4
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