aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* move public API to top of the fileAleksey Kladov2019-02-182-9/+8
|
* remove depedency on ra_arenaAleksey Kladov2019-02-182-18/+23
|
* remove arena from RootsAleksey Kladov2019-02-182-16/+18
| | | | | we want to move ra_vfs to a new repo, so having fewer deps is useful. Arena is a thin layer of sugar on top of Vec anyway.
* remove useless ArcAleksey Kladov2019-02-181-5/+2
|
* Merge #855bors[bot]2019-02-182-80/+46
|\ | | | | | | | | | | | | | | 855: :arrow_up: deps r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * drop unused depsAleksey Kladov2019-02-182-16/+0
| |
| * :arrow_up: depsAleksey Kladov2019-02-181-64/+46
|/
* Merge #854bors[bot]2019-02-1859-433/+522
|\ | | | | | | | | | | | | | | 854: more compact edits in insta r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * more compact edits in instaAleksey Kladov2019-02-1855-1161/+339
| |
| * Don't use additional_text_edits API internallyAleksey Kladov2019-02-1857-384/+1300
| |
| * More orthogonal method namingAleksey Kladov2019-02-184-9/+4
| |
* | Merge #852bors[bot]2019-02-184-35/+44
|\ \ | |/ |/| | | | | | | | | | | 852: Handle != r=flodiebold a=matklad r? @flodiebold Co-authored-by: Aleksey Kladov <[email protected]>
| * handle != operatorAleksey Kladov2019-02-184-35/+44
| |
* | Merge #853bors[bot]2019-02-1855-1883/+610
|\ \ | | | | | | | | | | | | | | | | | | | | | 853: More compact debug representation for completion r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | More compact debug representation for completionAleksey Kladov2019-02-1855-1883/+610
|/ /
* | Merge #850bors[bot]2019-02-185-37/+95
|\ \ | |/ |/| | | | | | | | | | | 850: Handle tuple structs / enum variants properly in type inference r=matklad a=flodiebold Co-authored-by: Florian Diebold <[email protected]>
| * Handle tuple structs / enum variants properly in type inferenceFlorian Diebold2019-02-175-37/+95
| |
* | Merge #851bors[bot]2019-02-185-9/+85
|\ \ | |/ |/| | | | | | | | | | | 851: Enable parsing attributes for generic lifetimes and type parameters r=matklad a=vipentti Co-authored-by: Ville Penttinen <[email protected]>
| * Enable parsing attributes for generic lifetimes and type parametersVille Penttinen2019-02-175-9/+85
|/
* Merge #849bors[bot]2019-02-173-6/+42
|\ | | | | | | | | | | | | | | 849: Don't render `()` in calls to assoc functions r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * Don't render `()` in calls to assoc functionsAleksey Kladov2019-02-173-6/+42
| |
* | Merge #846bors[bot]2019-02-1713-1/+572
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 846: WIP: Enable parsing of attributes inside a match block r=matklad a=vipentti We allow invalid inner attributes to be parsed, e.g. inner attributes that are not directly after the opening brace of the match block. Instead we run validation on `MatchArmList` to allow better reporting of errors. This fixes #845 and works towards #759 Co-authored-by: Ville Penttinen <[email protected]>
| * | Remove match_armlist validatorVille Penttinen2019-02-172-30/+0
| | |
| * | Parse only outer_attributes for match arms for nowVille Penttinen2019-02-173-47/+60
| | |
| * | Enable parsing of attributes inside a match blockVille Penttinen2019-02-1716-1/+589
| |/ | | | | | | | | | | | | We allow invalid inner attributes to be parsed, e.g. inner attributes that are not directly after the opening brace of the match block. Instead we run validation on `MatchArmList` to allow better reporting of errors.
* | Merge #847bors[bot]2019-02-174-195/+201
|\ \ | |/ |/| | | | | | | | | | | 847: Refactor vfs r=matklad a=matklad Some slight refctorings of VFS, in preparation for moving it to a separate repo Co-authored-by: Aleksey Kladov <[email protected]>
| * marginally better namesAleksey Kladov2019-02-171-19/+24
| |
| * fix-testsAleksey Kladov2019-02-171-4/+4
| |
| * remove overlay removes overlayAleksey Kladov2019-02-171-4/+4
| |
| * simplify overlay handlingAleksey Kladov2019-02-171-16/+8
| |
| * simplifyAleksey Kladov2019-02-171-39/+33
| |
| * rename methodAleksey Kladov2019-02-171-1/+1
| |
| * remove duplicated methodAleksey Kladov2019-02-171-7/+0
| |
| * hide root configAleksey Kladov2019-02-173-81/+89
| |
| * move roots to a moduleAleksey Kladov2019-02-172-98/+112
| |
* | Merge #844bors[bot]2019-02-176-48/+127
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 844: Refactor find_all_refs to return ReferenceSearchResult r=vipentti a=vipentti This refactors `find_all_refs` to return a new `ReferenceSearchResult` based on feedback in #839. There are few questions/notes regarding the refactor: 1. Introducing `NavigationTarget::from_bind_pat` this simply forwards the call to `NavigationTarget::from_named`, could we just expose `from_named` directly as `pub(crate)` ? 2. Added an utility method `NavigationTarget::range` since there were few places where you would use `self.focus_range.unwrap_or(self.full_range)` 3. Implementing `IntoIterator` for `ReferenceSearchResult`. This turns `ReferenceSearchResult` into an iterator over `FileRanges` and allows previous code to mostly stay as it was based on the order that `find_all_refs` previously had (declaration first and then the references). I'm not sure if there is a way of doing the conversion to `IntoIter` without the allocation of a new vector 4. Is it possible to have a binding without a name? I'm not sure if the `NavigationTarget::from_bind_pat` can cause some edge-cases that previously were ok This fixes #835. Co-authored-by: Ville Penttinen <[email protected]>
| * Remove leading ::Ville Penttinen2019-02-171-1/+1
| |
| * Refactor find_all_refs to return ReferenceSearchResultVille Penttinen2019-02-176-48/+127
| |
* | Merge #843bors[bot]2019-02-1716-84/+290
|\ \ | |/ |/| | | | | | | | | | | | | | | 843: Impl generics r=matklad a=flodiebold This handles type parameters on impls when typing method calls. ~One remaining problem is that the autoderefs aren't applied during the unification of the method receiver type with the actual receiver type, which means that the type parameters are only correctly inferred if no autoderefs happened.~ Co-authored-by: Florian Diebold <[email protected]>
| * Make GenericArgs::from_ast pub(crate)Florian Diebold2019-02-171-1/+1
| |
| * Unify with the autorefed/autoderefed receiver type during method resolutionFlorian Diebold2019-02-175-13/+55
| |
| * Handle generic args for method callsFlorian Diebold2019-02-166-11/+50
| |
| * Handle impl generics in method callsFlorian Diebold2019-02-167-77/+122
| |
| * Resolve impl generic paramsFlorian Diebold2019-02-161-1/+3
| |
| * Add generic params to impl blocksFlorian Diebold2019-02-164-9/+16
| |
| * Add a test for impl genericsFlorian Diebold2019-02-162-0/+71
|/
* Merge #842bors[bot]2019-02-169-77/+65
|\ | | | | | | | | | | | | | | | | | | | | 842: Turn ImplBlock into a copy type just containing IDs r=matklad a=flodiebold This makes it more like the other code model types. Also make Module::definition_source/declaration_source return HirFileIds, to make them more like the other source functions. Co-authored-by: Florian Diebold <[email protected]>
| * Turn ImplBlock into a copy type just containing IDsFlorian Diebold2019-02-169-77/+65
|/ | | | | | | This makes it more like the other code model types. Also make Module::definition_source/declaration_source return HirFileIds, to make them more like the other source functions.
* Merge #841bors[bot]2019-02-161-0/+139
|\ | | | | | | | | | | | | | | | | 841: Add my emacs configuration r=matklad a=flodiebold I cleaned up and extended my custom emacs code for RA a bit. This relies on emacs-lsp instead of eglot, so I didn't want to just add it to the other one. It supports some more things, though. Co-authored-by: Florian Diebold <[email protected]>
| * Add my emacs configurationFlorian Diebold2019-02-161-0/+139
|/ | | | | This relies on emacs-lsp instead of eglot, so I didn't want to just add it to the other one.