aboutsummaryrefslogtreecommitdiff
path: root/crates/hir_ty/src/traits.rs
Commit message (Collapse)AuthorAgeFilesLines
* Rework obligation handlingFlorian Diebold2021-05-211-21/+19
| | | | | | | | We can't do the easy hack that we did before anymore, where we kept track of whether any inference variables changed since the last time we rechecked obligations. Instead, we store the obligations in canonicalized form; that way we can easily check the inference variables to see whether they have changed since the goal was canonicalized.
* More cleanups / module docsFlorian Diebold2021-04-091-1/+3
|
* Move ToChalk -> mappingFlorian Diebold2021-04-091-1/+1
|
* Reorganize hir_ty modulesFlorian Diebold2021-04-091-9/+5
| | | | | Chalk isn't really a 'traits' thing anymore, so it doesn't make sense to have all the Chalk-related stuff in submodules of `traits`.
* Remove unusedFlorian Diebold2021-04-081-10/+2
|
* Remove identity impls for ToChalkFlorian Diebold2021-04-081-1/+1
|
* Fix missing match armsFlorian Diebold2021-04-081-0/+1
|
* Make ToChalk implementations identityFlorian Diebold2021-04-081-14/+1
|
* Move hir_trait_id to extension traitFlorian Diebold2021-04-071-1/+1
|
* Remove `SolutionVariables`, add ConstrainedSubst analogous to ChalkFlorian Diebold2021-04-061-12/+4
| | | | ... just missing the constraints.
* Pass interner to ProjectionTy::self_type_parameterLaurențiu Nicola2021-04-051-1/+1
|
* Move things from `traits` module to `types` as wellFlorian Diebold2021-04-041-86/+2
|
* Rename Ty::interned to Ty::kindFlorian Diebold2021-04-031-1/+1
| | | | ... since that's the actual method on Chalk side that matches the signature.
* Introduce `GenericArg` like in ChalkFlorian Diebold2021-04-031-1/+1
| | | | | | | Plus some more adaptations to Substitution. Lots of `assert_ty_ref` that we should revisit when introducing lifetime/const parameters.
* Align InEnvironment with ChalkFlorian Diebold2021-03-211-9/+8
| | | | | | This in particular means storing a chalk_ir::Environment, not our TraitEnvironment. This makes InEnvironment not usable for Type, where we need to keep the full TraitEnvironment.
* Turn Obligation into something similar to chalk_ir::DomainGoalFlorian Diebold2021-03-201-21/+13
| | | | This includes starting to make use of Chalk's `Cast` trait.
* Remove WhereClause::ErrorFlorian Diebold2021-03-201-1/+0
| | | | | Chalk doesn't have it, and judging from the removed code, it wasn't useful anyway.
* Rename GenericPredicate -> WhereClauseFlorian Diebold2021-03-201-6/+6
|
* Replace Projection variant in GenericPredicate with AliasEqLukas Wirth2021-03-191-16/+21
|
* Chalkify TraitRefFlorian Diebold2021-03-181-1/+1
|
* Rename Substs -> SubstitutionFlorian Diebold2021-03-161-2/+2
|
* Rename some fields to their Chalk namesFlorian Diebold2021-03-141-1/+1
|
* Create TraitEnvironment through a queryFlorian Diebold2021-03-131-0/+9
|
* Separate `Ty` and `TyKind` like in ChalkFlorian Diebold2021-03-131-2/+4
| | | | | Currently `Ty` just wraps `TyKind`, but this allows us to change most places to already use `intern` / `interned`.
* Use Chalk Environment more directlyFlorian Diebold2021-03-121-10/+13
|
* Introduce Ty::AliasLukas Wirth2021-03-011-1/+1
|
* Upgrade ChalkFlorian Diebold2020-12-071-8/+5
| | | | | | | Also make overflow depth and max type size configurable through env variables. This can be helpful at least for debugging. Fixes #6628.
* Improve Chalk debuggingFlorian Diebold2020-10-231-7/+23
| | | | | | - add panic context for the trait goal if CHALK_DEBUG is set - print the Chalk program even if we're panicking - log goal/solution while TLS is still set
* Chalk 0.23Jeremy Kolb2020-08-161-2/+2
|
* Only print chalk programs with CHALK_PRINTWilco Kusee2020-08-141-10/+15
|
* Only use logging db if CHALK_DEBUG is activeWilco Kusee2020-08-141-12/+15
|
* Print chalk programs in debug outputWilco Kusee2020-08-141-2/+7
|
* Rename ra_hir_ty -> hir_tyAleksey Kladov2020-08-131-0/+272