aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_ty/src/lower.rs
Commit message (Collapse)AuthorAgeFilesLines
* Use `dyn Trait` for working with databseAleksey Kladov2020-03-161-112/+108
| | | | | | | 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).
* Resolve `Self::AssocTy` in implsFlorian Diebold2020-03-061-36/+50
| | | | | | | | | | To do this we need to carry around the original resolution a bit, because `Self` gets resolved to the actual type immediately, but you're not allowed to write the equivalent type in a projection. (I tried just comparing the projection base type with the impl self type, but that seemed too dirty.) This is basically how rustc does it as well. Fixes #3249.
* Rework find_super_trait_path to protect against cyclesFlorian Diebold2020-02-221-1/+2
|
* Fix wrong handling of bare `dyn Trait` exposed by canonicalizer fixFlorian Diebold2020-02-221-1/+3
| | | | | The self type in the `dyn Trait` trait ref should always be ^0, but we didn't put that in there in the bare case.
* Run cargo +nightly fix --clippy -Z unstable-optionsKirill Bulatov2020-02-181-12/+10
|
* use 'if let' instead of match on kind in lower.rsadamrk2020-02-171-6/+4
|
* replace uses of VariantData::is_unit with VariantData::kindadamrk2020-02-161-4/+7
|
* Make Self implement the trait inside trait default methodsFlorian Diebold2020-02-141-4/+28
|
* Rename Ty::Param => Ty::PlaceholderFlorian Diebold2020-02-141-4/+4
| | | | This aligns more with Chalk.
* Fix some TODOsFlorian Diebold2020-02-071-3/+7
|
* Deal better with implicit type parameters and argument listsFlorian Diebold2020-02-071-20/+21
|
* FormattingFlorian Diebold2020-02-071-2/+6
|
* Fix compilation of other cratesFlorian Diebold2020-02-071-2/+2
|
* Use variables in predicates as wellFlorian Diebold2020-02-071-32/+41
|
* Comment fixes / todosFlorian Diebold2020-02-071-6/+5
|
* Fix APIT some moreFlorian Diebold2020-02-071-3/+2
|
* Fix APITFlorian Diebold2020-02-071-0/+2
|
* Change Ty::Param to contain param IDFlorian Diebold2020-02-071-49/+59
|
* WIP use params for APITFlorian Diebold2020-02-071-0/+10
|
* Fix assoc type selectionFlorian Diebold2020-02-071-29/+40
|
* First stab at desugaring bounds for APITFlorian Diebold2020-02-071-3/+26
|
* Fix crashFlorian Diebold2020-02-071-4/+7
|
* Fix enum constructorsFlorian Diebold2020-02-071-6/+4
|
* Lower impl trait to variables, move away from using placeholders where they ↵Florian Diebold2020-02-071-122/+141
| | | | don't belong
* wip lower impl trait to type argsFlorian Diebold2020-02-071-0/+1
|
* wip implement lowering modeFlorian Diebold2020-02-071-6/+26
|
* Add impl trait lowering modeFlorian Diebold2020-02-071-18/+80
|
* Introduce TyLoweringContextFlorian Diebold2020-02-071-122/+110
|
* Fix #2705Florian Diebold2020-01-031-1/+1
| | | | | | | | The `-` turned into a `+` during a refactoring. The original issue was caused by `Read` resolving wrongly to a trait without type parameters instead of a struct with one parameter; this only fixes the crash, not the wrong resolution.
* Support for nested ADTAleksey Kladov2019-12-201-2/+2
|
* Forbid <T>::foo syntax in mod pathsAleksey Kladov2019-12-181-3/+3
|
* Use different types for path with and without genericsAleksey Kladov2019-12-141-36/+34
|
* Move enum&union to new locAleksey Kladov2019-12-121-4/+5
|
* Move structs to new locAleksey Kladov2019-12-121-1/+1
|
* Refactor parameter count trackingAleksey Kladov2019-12-071-7/+6
|
* Remove idx and parent generics from genericsAleksey Kladov2019-12-071-16/+19
| | | | | This makes `hir_def::GenericParams` flatter. The logic for re-numbering the params is moved to hir instead.
* Add cycle recovery for type aliasesFlorian Diebold2019-11-301-0/+5
|
* Add cycle recovery for generic predicatesFlorian Diebold2019-11-301-0/+9
|
* Handle cycles in impl types betterFlorian Diebold2019-11-301-14/+21
| | | | | | - 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
* Minimize APIAleksey Kladov2019-11-271-8/+3
|
* Memoize impl resolutionsAleksey Kladov2019-11-271-12/+23
|
* Move TyAleksey Kladov2019-11-271-0/+753