aboutsummaryrefslogtreecommitdiff
path: root/crates/hir_ty/src/infer/path.rs
Commit message (Collapse)AuthorAgeFilesLines
* Get rid of resolve_ty_as_possibleFlorian Diebold2021-05-211-1/+1
| | | | Instead use shallow resolving where necessary.
* Rework obligation handlingFlorian Diebold2021-05-211-1/+1
| | | | | | | | 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.
* Remove our unification code, use Chalk's insteadFlorian Diebold2021-05-211-1/+1
|
* Intern SubstitutionsFlorian Diebold2021-04-081-1/+1
| | | | (Costs a bit of performance, reduces memory usage on RA by ~10%.)
* Move hir_trait_id to extension traitFlorian Diebold2021-04-071-1/+2
|
* Move Ty accessors to TyExtLukas Wirth2021-04-061-1/+3
|
* Add Interner parameter to Binders::substituteFlorian Diebold2021-04-051-3/+4
|
* Binders::subst -> substituteFlorian Diebold2021-04-051-3/+3
|
* Rename TyKind::Unknown to ErrorLaurențiu Nicola2021-04-051-2/+2
|
* Move things in hir_ty into submodulesFlorian Diebold2021-04-041-1/+1
| | | | | - all the types that will be replaced by Chalk go to `types` - `TypeWalk` impls go to `walk`
* Replace Substitution::bound_vars and ::type_params_for_genericsFlorian Diebold2021-04-041-1/+1
|
* Replace last uses of SubstsBuilder by TyBuilderFlorian Diebold2021-04-041-4/+1
|
* Replace remaining uses of Substitution::build_for_defFlorian Diebold2021-04-041-1/+1
|
* Add and start using TraitRef and ProjectionTy buildersFlorian Diebold2021-04-041-12/+4
|
* Rename Ty::interned to Ty::kindFlorian Diebold2021-04-031-2/+2
| | | | ... since that's the actual method on Chalk side that matches the signature.
* Introduce `GenericArg` like in ChalkFlorian Diebold2021-04-031-3/+3
| | | | | | | Plus some more adaptations to Substitution. Lots of `assert_ty_ref` that we should revisit when introducing lifetime/const parameters.
* Don't recheck obligations if we have learned nothing newFlorian Diebold2021-04-011-1/+1
| | | | | | | | | | This is just the most trivial check: If no inference variables have been updated, and there are no new obligations, we can just skip trying to solve them again. We could be smarter about it, but this already helps quite a bit, and I don't want to touch this too much before we replace the inference table by Chalk's. Fixes #8263 (well, improves it quite a bit).
* hir_ty: introduce visible_from_module param into method resolutioncynecx2021-03-201-0/+1
|
* Turn Obligation into something similar to chalk_ir::DomainGoalFlorian Diebold2021-03-201-4/+8
| | | | This includes starting to make use of Chalk's `Cast` trait.
* Chalkify TraitRefFlorian Diebold2021-03-181-5/+7
|
* Rename Substs -> SubstitutionFlorian Diebold2021-03-161-10/+10
|
* Move type lowering methods to TyLoweringContextFlorian Diebold2021-03-131-5/+5
|
* Use chalk_ir::PlaceholderIndexFlorian Diebold2021-03-131-1/+1
|
* Separate `Ty` and `TyKind` like in ChalkFlorian Diebold2021-03-131-3/+3
| | | | | Currently `Ty` just wraps `TyKind`, but this allows us to change most places to already use `intern` / `interned`.
* Stop using `ContainerId` in `AssocContainerId`Jonas Schievink2021-03-091-1/+1
|
* Add ConstParams to the HIRLukas Wirth2021-01-011-0/+1
|
* Rename ra_hir_ty -> hir_tyAleksey Kladov2020-08-131-0/+287