aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir
Commit message (Collapse)AuthorAgeFilesLines
...
* Implement type variablesFlorian Diebold2018-12-297-118/+385
| | | | | | | | | 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-285-57/+43
|
* completion for enum variantsAleksey Kladov2018-12-281-0/+4
|
* simplifyAleksey Kladov2018-12-281-9/+4
|
* :arrow_up: salsaAleksey Kladov2018-12-281-1/+1
|
* remove FnIdAleksey Kladov2018-12-274-36/+21
|
* use names everywhereAleksey Kladov2018-12-272-12/+35
|
* dont leak Name details in testingAleksey Kladov2018-12-272-19/+62
|
* introduce known namesAleksey Kladov2018-12-274-29/+71
|
* introduce hir::NameAleksey Kladov2018-12-2710-50/+120
|
* add function to completion ctxAleksey Kladov2018-12-271-0/+1
|
* Bump parking_lot from 0.6.4 to 0.7.0dependabot[bot]2018-12-271-1/+1
| | | | | | | | Bumps [parking_lot](https://github.com/Amanieu/parking_lot) from 0.6.4 to 0.7.0. - [Release notes](https://github.com/Amanieu/parking_lot/releases) - [Changelog](https://github.com/Amanieu/parking_lot/blob/master/CHANGELOG.md) - [Commits](https://github.com/Amanieu/parking_lot/commits) Signed-off-by: dependabot[bot] <[email protected]>
* Bump arrayvec from 0.4.9 to 0.4.10dependabot[bot]2018-12-271-1/+1
| | | | | | | Bumps [arrayvec](https://github.com/bluss/arrayvec) from 0.4.9 to 0.4.10. - [Release notes](https://github.com/bluss/arrayvec/releases) - [Commits](https://github.com/bluss/arrayvec/compare/0.4.9...0.4.10) Signed-off-by: dependabot[bot] <[email protected]>
* Resolve field types lazilyFlorian Diebold2018-12-256-59/+75
| | | | 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-257-84/+180
|
* Implement reference / pointer typesFlorian Diebold2018-12-254-17/+116
| | | | | - parse them - infer types of & and * expressions
* Handle structs/enums with missing names a bit betterFlorian Diebold2018-12-252-20/+22
|
* CleanupFlorian Diebold2018-12-251-125/+37
|
* Implement basic completion for fieldsFlorian Diebold2018-12-253-3/+17
|
* Type field accessesFlorian Diebold2018-12-253-3/+44
|
* Collect field data for structs/enum variantsFlorian Diebold2018-12-255-12/+87
|
* Infer result of struct literals, and recurse into their child expressionsFlorian Diebold2018-12-254-43/+117
|
* Do name resolution by namespace (types/values)Florian Diebold2018-12-256-71/+182
|
* Add basic HIR and types for structs/enumsFlorian Diebold2018-12-258-29/+242
|
* Change inference tests to have one per fileFlorian Diebold2018-12-246-55/+92
|
* Rename a variable for consistencyFlorian Diebold2018-12-242-10/+10
|
* 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-232-5/+13
|
* Resolve paths to defs (functions currently) during type inferenceFlorian Diebold2018-12-2312-84/+206
|
* Make let statements kind of workFlorian Diebold2018-12-233-8/+48
|
* Remove unwrapsFlorian Diebold2018-12-231-6/+19
|
* Get rid of the terrible nesting in PathExpr inferenceFlorian Diebold2018-12-231-26/+14
|
* CleanupFlorian Diebold2018-12-232-81/+71
|
* Add testing infrastructure for type inferenceFlorian Diebold2018-12-235-23/+102
| | | | - move dir_tests to test_utils for that.
* Parse integer / float typesFlorian Diebold2018-12-232-2/+52
|
* Add beginnings of type infrastructureFlorian Diebold2018-12-238-2/+643
|
* completion uses hir scopesAleksey Kladov2018-12-223-3/+13
|
* Merge #319bors[bot]2018-12-214-5/+4
|\ | | | | | | | | | | | | | | 319: Completion icons r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * debug pringAleksey Kladov2018-12-211-1/+0
| |
| * moar iconsAleksey Kladov2018-12-213-3/+3
| |
| * move completion items to convAleksey Kladov2018-12-211-1/+1
| |
* | Merge #316bors[bot]2018-12-212-2/+38
|\ \ | |/ |/| | | | | | | | | | | 316: Fix handling of nested self in paths r=matklad a=DJMcNab See https://github.com/rust-analyzer/rust-analyzer/issues/231#issuecomment-442449505. Co-authored-by: DJMcNab <[email protected]>
| * Move the self handling from directly inside the loopDJMcNab2018-12-211-13/+12
| |
| * Fix handling of nested self in pathsDJMcNab2018-12-212-2/+39
| |
* | scope-based copmletions on original fileAleksey Kladov2018-12-211-1/+46
|/
* use root-relative pathsAleksey Kladov2018-12-211-6/+2
|
* fixme commentAleksey Kladov2018-12-201-0/+1
|
* resolve paths across cratesAleksey Kladov2018-12-201-4/+17
|
* workaround across-crate resolve bugsAleksey Kladov2018-12-201-12/+21
|