aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_ty/src/infer
Commit message (Collapse)AuthorAgeFilesLines
* Don't unify within a referenceFlorian Diebold2019-12-061-11/+10
| | | | | | | If we are expecting a `&Foo` and get a `&something`, when checking the `something`, we are *expecting* a `Foo`, but we shouldn't try to unify whatever we get with that expectation, because it could actually be a `&Foo`, and `&&Foo` coerces to `&Foo`. So this fixes quite a few false type mismatches.
* Fix #2467Florian Diebold2019-12-032-3/+14
| | | | | The stand-alone `unify` requires that the type doesn't contain any type variables. So we can't share the code here for now (without more refactoring)...
* Refactor a bitFlorian Diebold2019-12-021-35/+3
|
* Check receiver type properlyFlorian Diebold2019-12-022-9/+13
|
* Extract unification code to unify moduleFlorian Diebold2019-12-025-30/+290
|
* Handle cycles in impl types betterFlorian Diebold2019-11-302-6/+3
| | | | | | - impl Trait<Self> for S is allowed - impl Trait for S<Self> is an invalid cycle, but we can add cycle recovery for it in Salsa now
* Reduce variants of Exproxalica2019-11-291-39/+37
|
* Infer range typesoxalica2019-11-281-0/+41
|
* Memoize impl resolutionsAleksey Kladov2019-11-272-22/+10
|
* Move TyAleksey Kladov2019-11-275-0/+1658