Lukas Wirth
5391f9c63c
Support goto-definition for include macro paths
2021-06-05 19:04:50 +02:00
bors[bot]
5092d8c1ae
Merge #9147
...
9147: internal: enable proc macros and build scripts in cli r=flodiebold a=lnicola
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-06-05 12:29:52 +00:00
Laurențiu Nicola
18484365e6
Enable proc macros and build scripts by default in CLI
2021-06-05 15:20:41 +03:00
bors[bot]
4c54ec1c3c
Merge #9148
...
9148: minor: Prevent renaming of aliases on usages r=Veykril a=Veykril
Otherwise trying to rename a usage that goes through an alias will still rename the aliased item instead, cc https://github.com/rust-analyzer/rust-analyzer/issues/5671
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-06-05 11:16:46 +00:00
Lukas Wirth
d30f2d43db
Prevent renaming of aliases on usages
2021-06-05 13:15:07 +02:00
bors[bot]
fec00f4e13
Merge #9146
...
9146: minor: Fix incorrect list nesting in format_like feature description r=Veykril a=Veykril
bors r+
Closes #6261
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-06-05 10:44:36 +00:00
Lukas Wirth
abc941d2c8
Fix incorrect list nesting in format_like feature description
2021-06-05 12:43:45 +02:00
bors[bot]
15fe4e42bb
Merge #9145
...
9145: internal: Enable attribute macro expansion in `analysis-stats` r=flodiebold a=flodiebold
Before:
```
> $ rust-analyzer -q analysis-stats --with-proc-macro --load-output-dirs .
Database loaded: 19.08s, 277minstr
crates: 34, mods: 688, decls: 13202, fns: 10412
Item Collection: 16.21s, 76ginstr
exprs: 290580, ??ty: 2508 (0%), ?ty: 1814 (0%), !ty: 947
Inference: 27.46s, 108ginstr
Total: 43.67s, 184ginstr
```
After:
```
> $ ./target/release/rust-analyzer -q analysis-stats --with-proc-macro --load-output-dirs .
Database loaded: 1.09s, 277minstr
crates: 34, mods: 688, decls: 14790, fns: 11006
Item Collection: 18.20s, 78ginstr
exprs: 297826, ??ty: 493 (0%), ?ty: 558 (0%), !ty: 342
Inference: 28.34s, 111ginstr
Total: 46.54s, 190ginstr
```
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2021-06-05 09:32:40 +00:00
Florian Diebold
d174b919dc
Enable attribute macro expansion in analysis-stats
...
Before:
```
> $ rust-analyzer -q analysis-stats --with-proc-macro --load-output-dirs .
Database loaded: 19.08s, 277minstr
crates: 34, mods: 688, decls: 13202, fns: 10412
Item Collection: 16.21s, 76ginstr
exprs: 290580, ??ty: 2508 (0%), ?ty: 1814 (0%), !ty: 947
Inference: 27.46s, 108ginstr
Total: 43.67s, 184ginstr
```
After:
```
> $ ./target/release/rust-analyzer -q analysis-stats --with-proc-macro --load-output-dirs .
Database loaded: 1.09s, 277minstr
crates: 34, mods: 688, decls: 14790, fns: 11006
Item Collection: 18.20s, 78ginstr
exprs: 297826, ??ty: 493 (0%), ?ty: 558 (0%), !ty: 342
Inference: 28.34s, 111ginstr
Total: 46.54s, 190ginstr
```
2021-06-05 11:29:24 +02:00
Joshua Warner
ca9ffba047
Add assist for converting a tuple enum variant to a named variant
2021-06-04 21:48:32 -07:00
Lukas Wirth
544eca10d6
Complete third-party attributes
2021-06-04 21:07:19 +02:00
Lukas Wirth
7524850831
Render documentation for derive completion
2021-06-04 20:58:12 +02:00
bors[bot]
d647568db1
Merge #9141
...
9141: fix: Don't inline mutable locals in 'inline_local_variable' r=Veykril a=Veykril
Fixes #9139
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-06-04 18:44:22 +00:00
Lukas Wirth
1bd04d9064
Don't inline mutable locals in 'inline_local_variable'
2021-06-04 20:43:48 +02:00
bors[bot]
98395f29a4
Merge #9138
...
9138: feat: Implement hover for lints r=Veykril a=Veykril
fixes https://github.com/rust-analyzer/rust-analyzer/issues/8857 , fixes https://github.com/rust-analyzer/rust-analyzer/issues/3941
![URXBanNxYe](https://user-images.githubusercontent.com/3757771/120830905-4bd8da80-c55f-11eb-9f55-ff5a321726fa.gif )
We also generate the default lints(and lint groups 🎉 ) instead now by invoking `rustc -W help` and parsing the output from that.
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-06-04 17:45:37 +00:00
Lukas Wirth
ae1c63fcdd
Exclude crates/ide_db/src/helpers/generated_lints.rs
from tidy::check_todo
2021-06-04 19:45:10 +02:00
Lukas Wirth
0c89f38378
Replace -
with _
in generated lint names
2021-06-04 19:10:52 +02:00
Lukas Wirth
0b9ba4977e
Generate default lint groups
2021-06-04 18:55:08 +02:00
Lukas Wirth
343df88ac7
Generate default lint completions
2021-06-04 18:35:19 +02:00
Lukas Wirth
5d17b6a687
Implement hover for lints
2021-06-04 17:03:18 +02:00
bors[bot]
92d91050c4
Merge #9137
...
9137: fix: fix incorrect "unresolved import" error when using derive helpers r=jonas-schievink a=jonas-schievink
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/9133
cursed bug
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-06-04 14:51:39 +00:00
Jonas Schievink
20de86d014
Return ReachedFixedPoint::No
when resolving derive helper
2021-06-04 16:50:35 +02:00
bors[bot]
dceec3eb80
Merge #9136
...
9136: feat: Add function references hover action r=Veykril a=Veykril
![image](https://user-images.githubusercontent.com/3757771/120811670-8422ed80-c54c-11eb-87f5-dd65c1f8ef7d.png )
This is off by default as this can slow down hover messages significantly for very big projects I believe.
Fixes #6590
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-06-04 13:55:49 +00:00
Lukas Wirth
07394316ff
Add function references hover action
2021-06-04 15:54:55 +02:00
bors[bot]
cd46255d7e
Merge #9135
...
9135: Reorganize inlay_hints tests r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-06-04 12:10:21 +00:00
Lukas Wirth
5f1fac44c5
Cleanup parameter_hint_heuristics inlay hints test
2021-06-04 14:09:20 +02:00
Lukas Wirth
b0f6d8868c
Reorganize inlay_hints tests
2021-06-04 13:47:39 +02:00
bors[bot]
14153671ca
Merge #9128
...
9128: feat: expand procedural attribute macros r=jonas-schievink a=jonas-schievink
This adds experimental support for attribute macros. They can be enabled by setting `rust-analyzer.experimental.procAttrMacros` to `true`.
Known issues:
* Tokens aren't remapped, presumably because we edit the input syntax tree (this causes IDE features to not work inside items with attribute macros on them)
* Macro errors aren't reported correctly
Closes https://github.com/rust-analyzer/rust-analyzer/issues/8971
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/8964 / https://github.com/la10736/rstest/issues/120
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/2984
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/5412
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/6029
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/6687
https://github.com/rust-analyzer/rust-analyzer/issues/6740 is still not fixed – we now expand `#[proc_macro_hack]`, but fail to expand the resulting `proc_macro_call!()` macro.
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-06-03 16:17:25 +00:00
Jonas Schievink
17565f4dea
Set enable_proc_attr_macros in hir_ty TestDB
2021-06-03 18:11:33 +02:00
Jonas Schievink
d1c4d28eed
Update list of built-in attributes
2021-06-03 18:09:21 +02:00
Jonas Schievink
9fdb8f9037
Make it opt-in
2021-06-03 18:09:21 +02:00
Jonas Schievink
e5a2c6596d
Expand procedural attribute macros
2021-06-03 18:09:21 +02:00
bors[bot]
7f9c4a59d9
Merge #9130
...
9130: Prefix/suffix parameter inlay hint hiding heuristic is more strict r=Veykril a=Veykril
Instead of just plainly checking prefix/suffix of the argument string to the parameter name we only check for prefixes and suffixes if they are split apart via an underscore meaning, with the argument `foo`, it will be hidden for the parameter name `foo_bar` but not for `foobar`.
bors r+
Closes https://github.com/rust-analyzer/rust-analyzer/issues/8878
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-06-03 14:26:07 +00:00
Lukas Wirth
cc762c30df
Prefix/suffix parameter inlay hint hiding heuristic is more strict
2021-06-03 16:22:24 +02:00
bors[bot]
1dbdac8f51
Merge #9129
...
9129: NFC: remove redundant clones (clippy::perf) r=Veykril a=matthiaskrgr
Co-authored-by: Matthias Krüger <matthias.krueger@famsik.de>
2021-06-03 13:45:17 +00:00
Matthias Krüger
9452dfaac7
NFC: remove redundant clones (clippy::perf)
2021-06-03 15:32:46 +02:00
bors[bot]
23b48d377d
Merge #9127
...
9127: internal: make variant fields inherit the enum's visibility in the ItemTree r=jonas-schievink a=jonas-schievink
No observable changes from what I can tell, but this is "more correct".
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-06-03 12:27:57 +00:00
Jonas Schievink
28e3e683b2
ItemTree: make variant fields inherit the enum's visibility
2021-06-03 14:26:26 +02:00
bors[bot]
48ea50bf04
Merge #9124
...
9124: Apply a few clippy suggestions r=lnicola a=clemenswasser
Co-authored-by: Clemens Wasser <clemens.wasser@gmail.com>
2021-06-03 12:09:10 +00:00
bors[bot]
c7eb19ebf9
Merge #9104
...
9104: Implement `#[rustc_skip_array_during_method_dispatch]` r=flodiebold a=jonas-schievink
haxx run the world
Closes https://github.com/rust-analyzer/rust-analyzer/issues/8552
Part of https://github.com/rust-analyzer/rust-analyzer/issues/9056
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-06-03 11:52:15 +00:00
Jonas Schievink
70e19fd1cb
Add comment
2021-06-03 13:51:43 +02:00
Clemens Wasser
a1e650082b
Use push_str
2021-06-03 13:01:16 +02:00
Clemens Wasser
629e8d1ed0
Apply more clippy suggestions and update generated
2021-06-03 12:46:56 +02:00
bors[bot]
50936397cc
Merge #9105
...
9105: internal: calculate pattern adjustments r=flodiebold a=iDawer
This extends `InferenceResult` with `pub pat_adjustments: FxHashMap<PatId, Vec<Ty>>`.
Fixes #9095
Co-authored-by: Dawer <7803845+iDawer@users.noreply.github.com>
2021-06-03 09:55:37 +00:00
Clemens Wasser
3c6dc0f89d
Apply a few clippy suggestions
2021-06-03 11:46:03 +02:00
bors[bot]
e8e14e1b13
Merge #9123
...
9123: manual.adoc: add Gentoo Linux installation method r=lnicola a=mjkalyan
Added installation instructions for the binary ebuild of the "latest" `rust-analyzer` in Gentoo's GURU repository.
Co-authored-by: mjkalyan <34904034+mjkalyan@users.noreply.github.com>
2021-06-03 08:24:56 +00:00
mjkalyan
508d1230d8
manual.adoc: add Gentoo Linux installation method
...
Added installation instructions for the binary ebuild of the "latest" `rust-analyzer` in Gentoo's GURU repository.
2021-06-03 00:16:23 -06:00
bors[bot]
092396c65a
Merge #9119
...
9119: fix: some minor "extract type alias" fixes r=jonas-schievink a=jonas-schievink
It now correctly works inside traits, and no longer messes up the indentation of the original node
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-06-02 20:28:15 +00:00
Jonas Schievink
6c0e58d107
Preserve indentation
2021-06-02 22:27:12 +02:00
Jonas Schievink
e4c019fcaa
Account for traits
2021-06-02 22:20:41 +02:00