aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/ty/lower.rs
Commit message (Collapse)AuthorAgeFilesLines
* Handle where clauses in trait solvingFlorian Diebold2019-05-111-8/+45
|
* Differentiate Tuple / FnPtr type constructors by cardinalityFlorian Diebold2019-05-041-2/+5
| | | | | This is necessary because Chalk (reasonably) expects each 'struct' to know how many type parameters it takes.
* Chalk integrationFlorian Diebold2019-05-041-18/+12
| | | | | - add proper canonicalization logic - add conversions from/to Chalk IR
* Extract generic_params method to a HasGenericParams traitFlorian Diebold2019-04-141-2/+2
|
* Some cleanupFlorian Diebold2019-04-141-2/+5
|
* More trait infrastructureFlorian Diebold2019-04-141-1/+8
| | | | | | | | | | - make it possible to get parent trait from method - add 'obligation' machinery for checking that a type implements a trait (and inferring facts about type variables from that) - handle type parameters of traits (to a certain degree) - improve the hacky implements check to cover enough cases to exercise the handling of traits with type parameters - basic canonicalization (will probably also be done by Chalk)
* Get substs for trait refs in impl blocksFlorian Diebold2019-04-141-25/+70
|
* replace todo with fixmeAleksey Kladov2019-03-231-3/+3
|
* Refactor primitive types into more orthogonal representationyanchith2019-03-221-4/+4
|
* TypeName => TypeCtorFlorian Diebold2019-03-211-18/+18
|
* Remove the old variants replaced by Ty::ApplyFlorian Diebold2019-03-211-20/+18
|
* Represent FnPtr and Tuple using SubstsFlorian Diebold2019-03-211-2/+2
|
* make Name::new privateAleksey Kladov2019-03-201-2/+2
|
* Remove FnSig from FnDef typeFlorian Diebold2019-03-161-6/+12
| | | | | It doesn't need to be in there since it's just information from the def. Another step towards aligning Ty with Chalk's representation.
* Refactor FnSig a bitFlorian Diebold2019-03-161-25/+45
|
* Replace Display by a pretty printing trait for TyFlorian Diebold2019-03-161-17/+6
| | | | | This allows removing the names from Adt and FnDef (and more later), as a first step towards aligning more with chalk's Ty :)
* Add static type inferenceVille Penttinen2019-02-251-4/+17
|
* Add const type inferenceVille Penttinen2019-02-251-5/+17
|
* Rename Type => TypeAliasFlorian Diebold2019-02-241-9/+9
|
* Implement support for type aliasesFlorian Diebold2019-02-241-9/+23
|
* Refactor associated method resolution a bit and make it work with genericsFlorian Diebold2019-02-231-26/+41
|
* Split ty.rs into several modulesFlorian Diebold2019-02-231-0/+318
It was just getting too big. We now have: - ty: the `Ty` enum and helpers - ty::infer: actual type inference - ty::lower: lowering from HIR to `Ty` - ty::op: helpers for binary operations, currently