aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge #692bors[bot]2019-01-3115-0/+432
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 692: [WIP] Correctly parse attributes r=matklad a=DJMcNab Reference - https://doc.rust-lang.org/reference/attributes.html This fixes/investigates inner attributes for: - [x] `impl` blocks - [x] `extern` blocks - [x] `fn`s (fixes #689) - [x] `mod`s (already supported) - [x] 'block expressions' (the long text just describes all 'blocks' used as statements) This also investigates/fixes outer attributes for: - [ ] 'most statements' (see also: #685, https://doc.rust-lang.org/reference/expressions.html#expression-attributes) - [x] Enum variants, Struct and Union fields (Fixed in #507) - [ ] 'Match expression arms' (@matklad can you provide a test case which explains what this means?) - [ ] 'Generic lifetime or type parameters' - [ ] 'Elements of array expressions, tuple expressions, call expressions, tuple-style struct and enum variant expressions' - [ ] 'The tail expression of block expressions' Co-authored-by: DJMcNab <[email protected]>
| * Parse and validate attributes in blocksDJMcNab2019-01-2810-0/+352
| |
| * Add a test for inner attributes on extern blocksDJMcNab2019-01-272-0/+30
| |
| * Correctly parse inner attributes of impl blocksDJMcNab2019-01-273-0/+50
| |
* | Merge #712bors[bot]2019-01-313-15/+302
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 712: Fix #667 and improvements to introduce_variable r=matklad a=eulerdisk Fix #667 (but not re-indenting currently), plus many other improvements. @matklad I'm not sure how to handle re-indenting here. Co-authored-by: Andrea Pretto <[email protected]>
| * | Some improvements to introduce_variable.Andrea Pretto2019-01-303-8/+181
| | |
| * | Fix #667Andrea Pretto2019-01-301-11/+125
| | |
* | | Merge #701bors[bot]2019-01-3011-63/+163
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 701: Minor type inference tweaks r=flodiebold a=marcusklaas Pass down expectation for reference expressions and type the guard in match expressions. I wasn't able to add a test for the former addition because the type variable previously introduced would always resolve to the right type in the things I tried! Co-authored-by: Marcus Klaas de Vries <[email protected]>
| * | | Add test for passing on ref expectationsMarcus Klaas de Vries2019-01-303-8/+15
| | | |
| * | | Infer type of match guardMarcus Klaas de Vries2019-01-2810-59/+152
| | | |
* | | | Merge #711bors[bot]2019-01-308-32/+38
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 711: Rename FnScopes and move them below the expr module r=matklad a=flodiebold Extracted from #693 to reduce the diff and make rebasing easier for me :wink: The scopes belong to a body, which could be that of a function, but also a constant, static or array size. So this moves them to a submodule of `expr`. Also move the `expr_scopes` query from `query_definitions` to that module. Co-authored-by: Florian Diebold <[email protected]>
| * | | | Move expr_scopes query to its moduleFlorian Diebold2019-01-303-11/+17
| | | | |
| * | | | Rename FnScopes -> ExprScopesFlorian Diebold2019-01-308-26/+26
|/ / / / | | | | | | | | | | | | | | | | The reason for this is that it describes scopes for any body expression, not just that of a function. It did not actually refer to functions at all anymore.
* | | | Merge #709bors[bot]2019-01-3010-73/+58
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 709: Use Crate instead of CrateId r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | Use Crate instead of CrateIdAleksey Kladov2019-01-309-45/+36
| | | | |
| * | | | move item_map_queryAleksey Kladov2019-01-303-35/+29
|/ / / /
* | | | Merge #702bors[bot]2019-01-3014-17/+277
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 702: Go to Implementation r=matklad a=kjeremy First half of #620 Co-authored-by: Jeremy Kolb <[email protected]> Co-authored-by: kjeremy <[email protected]>
| * | | | Resolve cratekjeremy2019-01-302-3/+2
| | | | |
| * | | | Go to Implementation for structs and enumsJeremy Kolb2019-01-3014-18/+279
| | |/ / | |/| |
| | | |
| \ \ \
*-. \ \ \ Merge #704 #705bors[bot]2019-01-3011-102/+128
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 704: Feat/jinstall lsp r=matklad a=DJMcNab Add `cargo jinstall-lsp` as a shorthand to include jemalloc support Also activate the extension when the commands are run which is makes sense to activate. I still need to work out what `Run` actually does to give it a better name, and other extensions through some voodoo magic are able to hide their commands from the command palette before the extension is activated, which would be a better fix. 705: Pass Documentation up to LSP and add "rust" to our codeblocks there r=matklad a=kjeremy Fixes #699 Co-authored-by: DJMcNab <[email protected]> Co-authored-by: Jeremy Kolb <[email protected]>
| | * | | | Pass Documentation up to LSP and add "rust" to our codeblocks thereJeremy Kolb2019-01-308-89/+103
| | |/ / /
| * | | | Add category to the commandsDJMcNab2019-01-291-8/+16
| | | | |
| * | | | Start the extension when rust-analyzer status is runDJMcNab2019-01-291-1/+3
| | | | |
| * | | | Add `cargo jinstall-lsp` as a shorthand to include jemalloc supportDJMcNab2019-01-292-4/+6
| |/ / /
* | | | Merge #708bors[bot]2019-01-301-1/+2
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | 708: Clear the console when running single tasks r=matklad a=kjeremy Co-authored-by: kjeremy <[email protected]>
| * | | Clear the console when running single taskskjeremy2019-01-301-1/+2
|/ / /
* | | Merge #698bors[bot]2019-01-283-15/+37
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 698: Added support for primitive types type inference with std::ops::Not r=flodiebold a=WizardOfMenlo On the guideline of #544 , this allows for type inference for all primitive types implementing [std::ops::Not](https://doc.rust-lang.org/beta/std/ops/trait.Not.html). I think this should be relevant #394 as well? Co-authored-by: WizardOfMenlo <[email protected]>
| * | | Use match-all instead of individual branchesWizardOfMenlo2019-01-281-5/+1
| | | |
| * | | Added support for primitive types type inference when using std::ops::NotWizardOfMenlo2019-01-283-15/+41
| | | |
* | | | Merge #700bors[bot]2019-01-281-8/+8
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | 700: Update insta r=matklad a=kjeremy Fixes windows build Co-authored-by: Jeremy A. Kolb <[email protected]>
| * | | Update instaJeremy A. Kolb2019-01-281-8/+8
|/ / / | | | | | | | | | Fixes windows build
* | | Merge #697bors[bot]2019-01-285-3/+23
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 697: opt-in jemalloc r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | | opt-in jemallocAleksey Kladov2019-01-285-3/+23
|/ / /
* | | Merge #695bors[bot]2019-01-2818-77/+94
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 695: align command naming r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | | align command namingAleksey Kladov2019-01-2818-77/+94
|/ / /
* | | Merge #678bors[bot]2019-01-289-31/+152
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 678: WIP: automatically collect garbage r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | | update salsaAleksey Kladov2019-01-284-20/+17
| | | |
| * | | use salsa from my repoAleksey Kladov2019-01-273-6/+11
| | | |
| * | | tweak wordsAleksey Kladov2019-01-271-1/+1
| | | |
| * | | show jemallocAleksey Kladov2019-01-274-1/+73
| | | |
| * | | drop obsolete commentAleksey Kladov2019-01-271-3/+0
| | | |
| * | | automatically collect garbageAleksey Kladov2019-01-278-25/+75
| | | |
* | | | Merge #694bors[bot]2019-01-2725-270/+271
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | 694: Sort completions in tests r=matklad a=flodiebold Co-authored-by: Florian Diebold <[email protected]>
| * | | Sort completions in testsFlorian Diebold2019-01-2725-270/+271
|/ / /
* | | Merge #661bors[bot]2019-01-279-84/+227
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 661: Implement type generics for functions r=flodiebold a=marcusklaas Pretty printing of function types isn't as nice any more since the current implementation does not store its argument types directly. We could store some more information to print more information on the argument and return types, at a cost of course. Co-authored-by: Marcus Klaas de Vries <[email protected]>
| * | Process second reviewMarcus Klaas de Vries2019-01-273-44/+35
| | |
| * | Use type information from the turbofishMarcus Klaas de Vries2019-01-274-12/+40
| | |
| * | Add a FnSig to Ty::FnDefMarcus Klaas de Vries2019-01-277-68/+94
| | |
| * | Address some issues flagged in reviewMarcus Klaas de Vries2019-01-274-40/+26
| | |
| * | Add missing ty test snapshotMarcus Klaas de Vries2019-01-271-0/+23
| | |