aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/ty.rs
Commit message (Collapse)AuthorAgeFilesLines
* Missing return type means unit, not unknownFlorian Diebold2018-12-291-1/+5
|
* Implement type variablesFlorian Diebold2018-12-291-111/+336
| | | | | | | | | This will really become necessary when we implement generics, but even now, it allows us to reason 'backwards' to infer types of expressions that we didn't understand for some reason. We use ena, the union-find implementation extracted from rustc, to keep track of type variables.
* nameify structs&enumsAleksey Kladov2018-12-281-17/+7
|
* introduce known namesAleksey Kladov2018-12-271-5/+4
|
* introduce hir::NameAleksey Kladov2018-12-271-5/+5
|
* Resolve field types lazilyFlorian Diebold2018-12-251-8/+28
| | | | I.e. not already when getting the HIR for the struct.
* Add a hir::TypeRef as an intermediate between ast::TypeRef and ty::TyFlorian Diebold2018-12-251-77/+62
|
* Implement reference / pointer typesFlorian Diebold2018-12-251-15/+69
| | | | | - parse them - infer types of & and * expressions
* Handle structs/enums with missing names a bit betterFlorian Diebold2018-12-251-6/+14
|
* CleanupFlorian Diebold2018-12-251-125/+37
|
* Implement basic completion for fieldsFlorian Diebold2018-12-251-2/+3
|
* Type field accessesFlorian Diebold2018-12-251-1/+31
|
* Collect field data for structs/enum variantsFlorian Diebold2018-12-251-1/+10
|
* Infer result of struct literals, and recurse into their child expressionsFlorian Diebold2018-12-251-36/+83
|
* Do name resolution by namespace (types/values)Florian Diebold2018-12-251-7/+15
|
* Add basic HIR and types for structs/enumsFlorian Diebold2018-12-251-26/+46
|
* Rename a variable for consistencyFlorian Diebold2018-12-241-9/+9
|
* Clean up Ty a bitFlorian Diebold2018-12-241-38/+22
| | | | Removing irrelevant comments copied from rustc etc.
* Prepare Ty::new for resolutionFlorian Diebold2018-12-231-14/+24
|
* Type the return values of call expressionsFlorian Diebold2018-12-231-3/+11
|
* Resolve paths to defs (functions currently) during type inferenceFlorian Diebold2018-12-231-68/+127
|
* Make let statements kind of workFlorian Diebold2018-12-231-8/+36
|
* Remove unwrapsFlorian Diebold2018-12-231-6/+19
|
* Get rid of the terrible nesting in PathExpr inferenceFlorian Diebold2018-12-231-26/+14
|
* CleanupFlorian Diebold2018-12-231-64/+49
|
* Add testing infrastructure for type inferenceFlorian Diebold2018-12-231-0/+30
| | | | - move dir_tests to test_utils for that.
* Parse integer / float typesFlorian Diebold2018-12-231-2/+20
|
* Add beginnings of type infrastructureFlorian Diebold2018-12-231-0/+478