David Barsky
8af3d6367e
This commit add Cargo-style project discovery for Buck and Bazel users.
...
This feature requires the user to add a command that generates a
`rust-project.json` from a set of files. Project discovery can be invoked
in two ways:
1. At extension activation time, which includes the generated
`rust-project.json` as part of the linkedProjects argument in
InitializeParams
2. Through a new command titled "Add current file to workspace", which
makes use of a new, rust-analyzer specific LSP request that adds
the workspace without erasing any existing workspaces.
I think that the command-running functionality _could_ merit being
placed into its own extension (and expose it via extension contribution
points), if only provide build-system idiomatic progress reporting and
status handling, but I haven't (yet) made an extension that does this.
2023-03-13 13:30:18 -04:00
Laurențiu Nicola
bdbd2a59b0
Merge branch 'master' into sync-from-rust
2023-03-13 10:21:53 +02:00
Laurențiu Nicola
c3864eb511
Add and use rust-analyzer.cargo.extraArgs setting
2023-03-12 13:04:24 +02:00
Laurențiu Nicola
cfc9d5cd3b
Pass flycheck extra args when running build scripts
2023-03-11 19:28:02 +02:00
bors
70e10deee8
Auto merge of #14326 - iDawer:refactor, r=Veykril
...
internal: Rename `hir::diagnostics::MissingMatchArms.match_expr` field
`hir::diagnostics::MissingMatchArms.match_expr` had confusing name: it is pointing to scrutinee expression. Renamed to `scrutinee_expr` and used better fitting type for it.
Also small refactorings/cleanup.
2023-03-11 07:36:00 +00:00
Dan Johnson
2691143a67
Fix overlap deduping infinite loop
...
Fixes: 14276
2023-03-10 17:01:21 -08:00
iDawer
17b9d35b31
Refactor: Distinguish scrutinee expression from match expression
2023-03-10 18:43:50 +05:00
iDawer
5e8c586f3b
Refactor hir::diagnostics::MissingMatchArms fields, better naming
2023-03-10 18:22:32 +05:00
iDawer
8f189f62c6
Remove unnecessary argument
2023-03-10 16:35:04 +05:00
iDawer
c38aa5f4f0
Use anonymous lifetimes
2023-03-10 16:16:28 +05:00
bors
9fca0a4afe
Auto merge of #14316 - HKalbasi:master, r=HKalbasi
...
Fix stack overflow when derefrencing `&!`
fix #14310
2023-03-10 10:25:20 +00:00
hkalbasi
a980b562a7
Fix stack overflow when derefrencing &!
2023-03-10 13:44:34 +03:30
bors
070f8f8578
Auto merge of #14313 - Veykril:notifs, r=Veykril
...
Make project loading errors less intrusive
cc https://github.com/rust-lang/rust-analyzer/issues/14193 closes https://github.com/rust-lang/rust-analyzer/issues/9909
![image](https://user-images.githubusercontent.com/3757771/224274817-a5a8cb0c-7bda-454d-9772-5f839f360b9a.png )
2023-03-10 10:12:15 +00:00
Lukas Wirth
c03775e477
Fix is_quiescent reporting
2023-03-10 10:26:02 +01:00
Lukas Wirth
0d19ccb3df
Make project loading errors less intrusive
2023-03-10 09:49:37 +01:00
bors
1b5bba4535
Auto merge of #14312 - HKalbasi:master, r=lnicola
...
Revert #14285
fix #14305
2023-03-10 08:34:27 +00:00
hkalbasi
71e1c025f8
Revert #14285
2023-03-10 11:57:30 +03:30
Lukas Wirth
116775bc83
Don't attempt to calculate diagnostics in library crates
2023-03-10 09:08:20 +01:00
hkalbasi
8593132a43
fix block with no termination in or patterns
2023-03-09 22:32:12 +03:30
bors
8ce5a53934
Auto merge of #14302 - Veykril:db-memory-usage, r=Veykril
...
internal: Add missing queries to per_query_memory_usage
2023-03-09 16:02:43 +00:00
Lukas Wirth
c49f753403
Add missing queries to per_query_memory_usage
2023-03-09 16:31:10 +01:00
bors
10a652a1e4
Auto merge of #14300 - lnicola:rustc-flycheck, r=lnicola
...
fix: Watch both stdout and stderr in flycheck
Fixes #14217
This isn't great because it un-mixes the messages from the two streams, but maybe it's not such a big problem?
2023-03-09 15:28:42 +00:00
Laurențiu Nicola
209cf7dc61
Watch both stdout and stderr in flycheck
2023-03-09 16:58:25 +02:00
Lukas Wirth
879cac4b28
minor: Remove dead code
2023-03-09 15:40:51 +01:00
bors
de3b12d686
Auto merge of #14299 - Veykril:local-search, r=Veykril
...
fix: Fix search not searching bodies of attributed items
Closes https://github.com/rust-lang/rust-analyzer/issues/14229
2023-03-09 14:33:17 +00:00
Lukas Wirth
3427d36d0e
fix: Fix search not searching bodies of attributed items
2023-03-09 15:30:17 +01:00
Lukas Wirth
e158dc7246
Remove unnecessary special local handling in search
2023-03-09 15:10:26 +01:00
bors
a738737520
Auto merge of #14297 - Veykril:proc-macro-deps, r=Veykril
...
Add core lib to proc_macro dependencies
Fixes https://github.com/rust-lang/rust-analyzer/issues/14292
2023-03-09 13:44:59 +00:00
Lukas Wirth
d8c80e7d95
Add core lib to proc_macro dependencies
2023-03-09 12:58:07 +01:00
hkalbasi
811190b913
fix multiple definition binding in match to let-else
2023-03-09 00:34:31 +03:30
bors
38e9a110d4
Auto merge of #14287 - Veykril:rustc_private-proc-macro, r=Veykril
...
minor: Fixup dylib extensions for rustc_private proc-macro loading
Follow up to https://github.com/rust-lang/rust-analyzer/pull/14282
2023-03-08 13:56:45 +00:00
Lukas Wirth
4ee2abaf38
minor: Fixup dylib extensions for rustc_private proc-macro loading
2023-03-08 14:45:47 +01:00
bors
3d904e024b
Auto merge of #14286 - Veykril:block-def-tail-mac, r=Veykril
...
fix: Fix block defmap not looking into tail expressions for macro calls
Fixes https://github.com/rust-lang/rust-analyzer/issues/14263
2023-03-08 13:37:47 +00:00
Lukas Wirth
d038892947
fix: Fix block defmap not looking into tail expressions for macro calls
2023-03-08 14:37:27 +01:00
hkalbasi
cf47c15821
Evaluate consts in path_to_const
2023-03-08 16:42:20 +03:30
bors
c9510933a5
Auto merge of #14284 - Veykril:sem-derive-unresolved, r=Veykril
...
fix: Highlight unresolved derives as being unresolved
Fixes https://github.com/rust-lang/rust-analyzer/issues/11350
2023-03-08 12:51:40 +00:00
Lukas Wirth
b6e7cf3201
Highlight unresolved derives as being unresolved
2023-03-08 13:51:14 +01:00
bors
6ebbd48ac0
Auto merge of #14283 - Veykril:error-notifs, r=Veykril
...
Load proc-macros for rustc_private crates
If the client support our server status notification there is no need to show the pop up for workspace fetching failures since that's already going to be shown in the status.
cc https://github.com/rust-lang/rust-analyzer/issues/14193
2023-03-08 12:22:10 +00:00
Lukas Wirth
b4bd27be90
Don't send error notifications for workspace failures if server status is supported
2023-03-08 13:18:44 +01:00
bors
aff6cb0080
Auto merge of #14282 - Veykril:rustc_private-proc-macro, r=Veykril
...
fix: Load proc-macros for rustc_private crates
Fixes https://github.com/rust-lang/rust-analyzer/issues/13591
Verified that this makes things work in the clippy repo (like resolving `sym` things for example)
2023-03-08 12:02:38 +00:00
bors
a9d97b6449
Auto merge of #14248 - XFFXFF:let_else_right_curly_brace, r=Veykril
...
fix: show diagnostic for } token followed by else in let else statement
fix #14221
My thinking is to check if the `expr` after `=` is block like when parse `let ... lese` , and if so, emit error.
2023-03-08 11:47:52 +00:00
Lukas Wirth
c9786484c5
Load proc-macros for rustc_private crates
2023-03-08 12:41:38 +01:00
bors
ecc32c2f85
Auto merge of #14271 - Veykril:ty-diag-err, r=Veykril
...
Don't trigger unresolved method/field diagnostics on types containing errors
2023-03-07 14:25:20 +00:00
Lukas Wirth
d45708fabe
Don't trigger unresolved method/field diagnostics on types containing errors
2023-03-07 15:24:43 +01:00
bors
44ff3c407a
Auto merge of #14232 - HKalbasi:mir, r=Veykril
...
MIR episode 2
This PR adds:
1. `need-mut` and `unused-mut` diagnostics
2. `View mir` command which shows MIR for the body under cursor, useful for debugging
3. MIR lowering for or-patterns and for-loops
2023-03-07 09:49:49 +00:00
XFFXFF
6e97527eae
add is_blocklike func on BlockLike
2023-03-07 17:27:52 +08:00
hkalbasi
bcd7ecb242
Add profiling to mir lower and borrowck query
2023-03-07 12:42:52 +03:30
XFFXFF
98990affe5
add more tests
2023-03-07 08:24:25 +08:00
XFFXFF
995aacfce8
show diagnostic for } token followed by else in let else statement
2023-03-07 08:24:25 +08:00
bors
31c12ec282
Auto merge of #14266 - Veykril:generalize-eager-lazy, r=Veykril
...
feature: Make replace_or_with_or_else assists more generally applicable
2023-03-06 21:41:46 +00:00