aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | Fix another crash from wrong bindersFlorian Diebold2020-04-174-27/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Basically, if we had something like `dyn Trait<T>` (where `T` is a type parameter) in an impl we lowered that to `dyn Trait<^0.0>`, when it should be `dyn Trait<^1.0>` because the `dyn` introduces a new binder. With one type parameter, that's just wrong, with two, it'll lead to crashes.
* | | | | | | Merge #4022bors[bot]2020-04-172-1/+14
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4022: Fix incorrect order of syntax highlight ranges r=ltentrup a=ltentrup A fix for the bug #4013 which is caused by a difference between tree traversal order and text representation order. In the case of #4013, the attributes of a macro were visited after the macro definition which caused the syntax highlight ranges to be in wrong order. The fix is to sort the ranges before returning. Co-authored-by: Leander Tentrup <[email protected]>
| * | | | | | | Fix incorrect order of syntax highlight rangesLeander Tentrup2020-04-172-1/+14
|/ / / / / / /
* | | | | | | Merge #4021bors[bot]2020-04-173-5/+65
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4021: Fix type equality for dyn Trait r=matklad a=flodiebold Fixes a lot of false type mismatches. (And as always when touching the unification code, I have to say I'm looking forward to replacing it by Chalk's...) Co-authored-by: Florian Diebold <[email protected]>
| * | | | | | | Fix type equality for dyn TraitFlorian Diebold2020-04-173-5/+65
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes a lot of false type mismatches. (And as always when touching the unification code, I have to say I'm looking forward to replacing it by Chalk's...)
* | | | | | | Merge #4019bors[bot]2020-04-171-0/+174
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4019: Add two more tests for associated types r=matklad a=flodiebold Co-authored-by: Florian Diebold <[email protected]>
| * | | | | | | Add two more tests for associated typesFlorian Diebold2020-04-171-0/+174
|/ / / / / / /
* | | | | | | Merge #4016bors[bot]2020-04-171-47/+52
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4016: Don't use SyntaxNodePtr::range when determining scope for offset r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | | | Don't use SyntaxNodePtr::range when determining scope for offsetAleksey Kladov2020-04-171-47/+52
|/ / / / / /
* | | | | | Merge #4012bors[bot]2020-04-172-3/+59
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4012: fix panic on ellipsis in pattern r=flodiebold a=JoshMcguigan fixes #3999 Co-authored-by: Josh Mcguigan <[email protected]>
| * | | | | | fix panic on ellipsis in patternJosh Mcguigan2020-04-172-3/+59
| | |_|_|_|/ | |/| | | |
* | | | | | Merge #4011bors[bot]2020-04-172-1/+40
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4011: Don\t suggest import itself as a completion for import r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | | | Don\t suggest import itself as a completion for importAleksey Kladov2020-04-172-1/+40
|/ / / / / /
* | | | | | Merge #4010bors[bot]2020-04-178-17/+83
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4010: Fix handling of ranges in diagnostics r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | | | Simplify Diagnostic structureAleksey Kladov2020-04-176-51/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's not entirely clear what subnode ranges should mean in the presence of macros, so let's leave them out for now. We are not using them heavily anyway.
| * | | | | | Correctly highlight ranges of diagnostics from macrosAleksey Kladov2020-04-175-21/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | closes #2799
| * | | | | | Don't expose impl details of SyntaxPtrAleksey Kladov2020-04-178-14/+55
| | | | | | |
* | | | | | | Merge #4009bors[bot]2020-04-171-9/+10
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4009: Better snippet when completing trait method r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | | | | Better snippet when completing trait methodAleksey Kladov2020-04-171-9/+10
| |/ / / / / /
* | | | | | | Merge #4004bors[bot]2020-04-173-2/+17
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4004: Use mmap for proc macro libs r=matklad a=lnicola Fixes #4002. Co-authored-by: Laurențiu Nicola <[email protected]>
| * | | | | | | Use mmap for proc macro libsLaurențiu Nicola2020-04-173-2/+17
| |/ / / / / /
* | | | | | | Merge #3996bors[bot]2020-04-172-6/+2
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3996: Fix path for proc-macro in nightly / stable release r=matklad a=edwin0cheng I messed up that I forget we use different executable names for nightly / stable release, I changed to use the current executable name instead. Co-authored-by: Edwin Cheng <[email protected]>
| * | | | | | Fix path for proc-macro in nightly / stable buildEdwin Cheng2020-04-162-6/+2
| | | | | | |
* | | | | | | Merge #4008bors[bot]2020-04-171-3/+3
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4008: tests: add more info about what failed in tidy tests r=matklad a=bnjjj Separate PR from #3954 Co-authored-by: Benjamin Coenen <[email protected]>
| * | | | | | | tests: add more info about what failed in tidy testsBenjamin Coenen2020-04-171-3/+3
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
* | | | | | | Merge #4007bors[bot]2020-04-171-37/+35
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4007: Reduce allocations when looking up proc macro decl r=edwin0cheng a=lnicola `libserde_derive` has about 21K symbols on Linux. It's not much, but let's ~~not be wasteful~~ avoid the allocations anyway. r? @edwin0cheng Co-authored-by: Laurențiu Nicola <[email protected]>
| * | | | | | Reduce allocations when looking up proc macro declLaurențiu Nicola2020-04-171-37/+35
|/ / / / / /
* | | | | | Merge #3995bors[bot]2020-04-163-149/+150
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3995: Separate project discovery from project loading r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | | Unmix error handling when discovering workspacesAleksey Kladov2020-04-163-75/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hitting an io::Error is a legit problem. Finding more than one Cargo.toml is not.
| * | | | | Decouple project loading from project discovery a bitAleksey Kladov2020-04-163-128/+163
| | | | | |
* | | | | | Merge #3958bors[bot]2020-04-1617-29/+208
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3958: Add proc-macro related config and tests r=matklad a=edwin0cheng This PR do the following things: 1. Add cli argument `proc-macro` for running proc-macro server. 2. Added support for proc-macro in bench and analysis-stats 3. Added typescript config for proc-macros 4. Added an heavy test for proc-macros. To test it out: 1. run `cargo xtask install --proc-macro` 2. add `"rust-analyzer.cargo.loadOutDirsFromCheck": true"` and `"rust-analyzer.procMacro.enabled": true"` in vs code config. [Edit] Change to use `rust-analyzer proc-macro` for running proc-macro standalone process. Co-authored-by: Edwin Cheng <[email protected]>
| * | | | | Remove ci changesEdwin Cheng2020-04-161-4/+0
| | | | | |
| * | | | | Fix extern_process argsEdwin Cheng2020-04-162-8/+22
| | | | | |
| * | | | | Add proc-macro cli command for rust-analyzerEdwin Cheng2020-04-1614-26/+47
| | | | | |
| * | | | | Add tests for proc_macroEdwin Cheng2020-04-162-1/+92
| | | | | |
| * | | | | Add config for proc_macroEdwin Cheng2020-04-165-1/+22
| | | | | |
| * | | | | Add with-proc-macro in bench ,stats and diagnositcsEdwin Cheng2020-04-166-13/+49
| | | | | |
* | | | | | Merge #3994bors[bot]2020-04-164-9/+7
|\ \ \ \ \ \ | | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3994: Don't expose SyntaxNodePtr impl details r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | | Don't expose SyntaxNodePtr impl detailsAleksey Kladov2020-04-164-9/+7
|/ / / / /
* | | | | Merge #3992bors[bot]2020-04-161-10/+10
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3992: cargo update r=kjeremy a=kjeremy Co-authored-by: kjeremy <[email protected]>
| * | | | | cargo updatekjeremy2020-04-161-10/+10
|/ / / / /
* | | | | Merge #3979bors[bot]2020-04-163-3/+51
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3979: fix missing match arm false positive for enum with no variants r=flodiebold a=JoshMcguigan fixes #3974 Co-authored-by: Josh Mcguigan <[email protected]>
| * | | | | fix false positive for enum with no variantsJosh Mcguigan2020-04-163-3/+51
| | |_|_|/ | |/| | |
* | | | | Merge #3990bors[bot]2020-04-165-40/+121
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3990: Switch to Chalk recursive solver r=matklad a=flodiebold Before: ``` Expressions of unknown type: 5526 (3%) Expressions of partially unknown type: 5415 (3%) ``` After: ``` Expressions of unknown type: 4600 (2%) Expressions of partially unknown type: 4645 (2%) ``` On the other hand, ``` './target/release/rust-analyzer analysis-stats -q . # old solver' ran 1.24 ± 0.04 times faster than 'rust-analyzer analysis-stats -q . # new solver' ``` I think part of this just comes from the fact that we're inferring more types now; but apart from that, it should be possible to improve the performance a bunch, and I'll make looking into that a priority. Co-authored-by: Florian Diebold <[email protected]>
| * | | | | Test for non-working proc macro server assoc typesFlorian Diebold2020-04-161-0/+68
| | | | | |
| * | | | | Switch Chalk to recursive solverFlorian Diebold2020-04-165-40/+53
|/ / / / / | | | | | | | | | | | | | | | + various fixes related to that.
* | | | | Merge #3989bors[bot]2020-04-163-11/+12
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3989: Update Chalk r=flodiebold a=flodiebold Co-authored-by: Florian Diebold <[email protected]>
| * | | | Update ChalkFlorian Diebold2020-04-163-11/+12
|/ / / /
* | | | Merge #3948bors[bot]2020-04-161-2/+3
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3948: fix: inlay hints config desyncronization between the frontend and the backend r=matklad a=Veetaha See the explanation in the issue comment: https://github.com/rust-analyzer/rust-analyzer/issues/3924#issuecomment-612444566 Workaround-ly fixes: #3924 Co-authored-by: veetaha <[email protected]>
| * | | | fix: inlay hints config desyncronization between the frontend and the backendveetaha2020-04-111-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | See the explanation in the issue comment: https://github.com/rust-analyzer/rust-analyzer/issues/3924#issuecomment-612444566