aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_ty/src/utils.rs
Commit message (Collapse)AuthorAgeFilesLines
* For associated type shorthand (T::Item), use the substs from the where clauseFlorian Diebold2020-04-261-0/+48
| | | | | So e.g. if we have `fn foo<T: SomeTrait<u32>>() -> T::Item`, we want to lower that to `<T as SomeTrait<u32>>::Item` and not `<T as SomeTrait<_>>::Item`.
* Upgrade Chalk againFlorian Diebold2020-04-051-3/+3
| | | | | | | The big change here is counting binders, not variables (https://github.com/rust-lang/chalk/pull/360). We have to adapt to the same scheme for our `Ty::Bound`. It's mostly fine though, even makes some things more clear.
* Use `dyn Trait` for working with databseAleksey Kladov2020-03-161-8/+8
| | | | | | | It improves compile time in `--release` mode quite a bit, it doesn't really slow things down and, conceptually, it seems closer to what we want the physical architecture to look like (we don't want to monomorphise EVERYTHING in a single leaf crate).
* Rework find_super_trait_path to protect against cyclesFlorian Diebold2020-02-221-11/+22
|
* Add &dyn Trait -> &dyn SuperTrait coercion, and fix &T -> &dyn TraitFlorian Diebold2020-02-221-0/+21
|
* Deal better with implicit type parameters and argument listsFlorian Diebold2020-02-071-3/+4
|
* FormattingFlorian Diebold2020-02-071-14/+49
|
* Change Ty::Param to contain param IDFlorian Diebold2020-02-071-19/+11
|
* First stab at desugaring bounds for APITFlorian Diebold2020-02-071-3/+7
|
* Lower impl trait to variables, move away from using placeholders where they ↵Florian Diebold2020-02-071-1/+13
| | | | don't belong
* wip lower impl trait to type argsFlorian Diebold2020-02-071-1/+2
|
* Introduce `ContainerId`Aleksey Kladov2019-12-201-1/+1
|
* Rename ContainerId -> AssocContainerIdAleksey Kladov2019-12-201-4/+4
|
* Add body as a possible container for itemsAleksey Kladov2019-12-191-1/+1
|
* Use different types for path with and without genericsAleksey Kladov2019-12-141-2/+3
|
* Rename N! to name!Florian Diebold2019-12-131-2/+2
|
* Add macros for known names and pathsFlorian Diebold2019-12-131-4/+2
|
* Rename GenericParam -> TypeParamAleksey Kladov2019-12-071-14/+12
| | | | We don't have LifetimeParam yet, but they are planned!
* Refactor parameter count trackingAleksey Kladov2019-12-071-8/+9
|
* Remove idx and parent generics from genericsAleksey Kladov2019-12-071-1/+81
| | | | | This makes `hir_def::GenericParams` flatter. The logic for re-numbering the params is moved to hir instead.
* Move TyAleksey Kladov2019-11-271-0/+84