Lukas Wirth
9767156a29
Simplify
2024-03-13 20:02:21 +01:00
Lukas Wirth
abe3177445
Shrink MacroCallLoc
2024-03-13 18:05:27 +01:00
Jesse Bakker
95828850b2
Fix panic with impl trait associated types in where clause
2024-03-13 18:02:15 +01:00
Lukas Wirth
87e0bbc534
Stronger typing for macro_arg query
2024-03-13 17:42:01 +01:00
Wilfred Hughes
30d3d68044
Fix unwanted leading whitespace in hover text
...
PR #16366 moved layout information to a separate line, so the
leading whitespace is no longer necessary.
2024-03-12 12:27:57 -07:00
bors
a2e274142f
Auto merge of #16819 - Veykril:span-upmapping, r=Veykril
...
internal: Improve rooted upmapping
cc https://github.com/rust-lang/rust-analyzer/issues/16235
2024-03-12 12:58:52 +00:00
Lukas Wirth
9ba4493918
internal: Improve rooted upmapping
2024-03-12 13:46:58 +01:00
bors
d3e6fea315
Auto merge of #16789 - wyatt-herkamp:cfg_attr, r=Veykril
...
cfg Attribute Stripping for Proc Macro Expansion
This will attempt to process cfg attributes and cfg_attr attributes for proc macro expansion.
![image](https://github.com/rust-lang/rust-analyzer/assets/11785959/b85ef203-14a5-44c9-9b67-59a65a5f2d96 )
Closes #8434 , #11657 , and #13904
2024-03-12 10:19:19 +00:00
Wyatt Herkamp
447de3d788
Review Updates and added tests.
2024-03-11 11:05:59 -04:00
Lukas Wirth
fdc527f096
fix: Fix method resolution snapshotting receiver_ty too early
2024-03-11 15:35:06 +01:00
bors
8f8bcfc131
Auto merge of #16335 - lnicola:salsa-lz4-file-text, r=Veykril
...
internal: Compress file text using LZ4
I haven't tested properly, but this roughly looks like:
```
1246 MB
59mb 4899 FileTextQuery
1008 MB
20mb 4899 CompressedFileTextQuery
555kb 1790 FileTextQuery
```
We might want to test on something more interesting, like `bevy`.
2024-03-11 13:43:33 +00:00
bors
2f872156fe
Auto merge of #16808 - ShoyuVanilla:proc-macro-sem-token, r=Veykril
...
feat: Add proc macro semantic token type
Closes #11529
2024-03-11 13:20:29 +00:00
Shoyu Vanilla
fc11216ad5
feat: Add proc macro semantic token type
2024-03-11 22:14:59 +09:00
bors
40ee359046
Auto merge of #16810 - Young-Flash:unused_var_fix, r=Veykril
...
feat: add fix for unused_variables
add a leading underscore for unused variable
2024-03-11 13:01:50 +00:00
bors
2320e12541
Auto merge of #16771 - Veykril:self-param-split, r=Veykril
...
internal: Don't desugar self param into a pattern
Small experiment to see if this simplifies things
2024-03-11 12:45:46 +00:00
Young-Flash
562f4a2688
test: update test for unused_variables
2024-03-11 19:36:53 +08:00
Young-Flash
77136575da
feat: add fix for unused_variables
2024-03-11 19:36:53 +08:00
Wyatt Herkamp
0fb5d0d918
Check for cfg_attr on the actual item and Debug instead of info in cfg_process
2024-03-11 06:55:04 -04:00
bors
a0dd822972
Auto merge of #16473 - SomeoneToIgnore:kb/remove-resolve-stub, r=Veykril
...
Stop eagerly resolving inlay hint text edits for VSCode
Send less json over the wire.
After https://github.com/microsoft/vscode/issues/193124 was fixed, this change is not needed anymore.
VSCode 1.86.0 now supports double click for unresolved hint data too.
2024-03-11 09:44:02 +00:00
bors
a58f574816
Auto merge of #16762 - wyatt-herkamp:master, r=Veykril
...
Added QuickFix for unresolved field.
Adds an AssistKind::QuickFix for unresolved field.
Currently, Snippets are not available for Diagnostics. So the type defaults to the Unit type if the type is not able to be inferred.
https://github.com/rust-lang/rust-analyzer/assets/11785959/bd4c67bd-f8cb-4254-9a87-641ae80a7a28
Closes https://github.com/rust-lang/rust-analyzer/issues/4563
2024-03-11 09:31:22 +00:00
Lukas Wirth
0dbaccd484
Track vscode version for conditional bug server sided bugfixes
2024-03-11 10:31:06 +01:00
Kirill Bulatov
57a0ad4343
Stop eagerly resolving inlay hint text edits for VSCode
...
After https://github.com/microsoft/vscode/issues/193124 was fixed,
this change is not needed anymore.
2024-03-11 10:22:02 +01:00
bors
a5035f4931
Auto merge of #16749 - Veykril:on-demand-validation-err, r=Veykril
...
internal: Some method resolution cleanups
2024-03-11 09:18:24 +00:00
bors
1069f57d8b
Auto merge of #16784 - Veykril:body-invalid, r=Veykril
...
internal: Remove synstructure const hack support
The latest version of it no longer emits these
2024-03-11 09:05:26 +00:00
Lukas Wirth
c679482d7e
Add method resolution deref inference var test
2024-03-11 10:02:03 +01:00
Lukas Wirth
458f4a2960
internal: Treat the self param as different from patterns when lowering
2024-03-11 09:46:28 +01:00
Lukas Wirth
558feeab61
internal: Remove synstructure const hack support
2024-03-11 09:44:40 +01:00
Laurențiu Nicola
f65fe4e281
Fix import
2024-03-11 09:31:02 +02:00
Laurențiu Nicola
ce642071d8
Bring back in-rust-tree feature to ide
2024-03-10 11:08:11 +02:00
Laurențiu Nicola
aa74d57825
Merge commit '574e23ec508064613783cba3d1833a95fd9a5080' into sync-from-ra
2024-03-10 08:47:38 +02:00
Laurențiu Nicola
717ba1d56a
Clippy fixes
2024-03-10 08:42:50 +02:00
Wyatt Herkamp
948a2dee09
Clippy Fix
2024-03-09 14:12:27 -05:00
Wyatt Herkamp
79f2651262
Add cfg_attr and cleanup code
2024-03-09 13:25:56 -05:00
Laurențiu Nicola
a12ccd5923
Fix test
2024-03-08 20:39:47 +02:00
Laurențiu Nicola
0f43b55e83
Stop using an Arc when setting the file text
2024-03-08 20:30:12 +02:00
Laurențiu Nicola
02b6c181dd
Compress file text using lz4 in salsa
2024-03-08 20:22:08 +02:00
Wyatt Herkamp
f45b080965
Starting Fix for cfg stripping
2024-03-08 11:10:29 -05:00
bors
2397e7a887
Auto merge of #16787 - pksunkara:remove-macro-call-check, r=lnicola
...
Remove unncessary check for macro call
Since `macro_rules` is a contextual keyword, it is an `IDENT` token and thus `is_path_start` already identifies it correctly. You can tell the previous check is unnecessary because the relevant tests still pass.
2024-03-08 13:23:31 +00:00
bors
2b7b44bf27
Auto merge of #16786 - pksunkara:improve-readability, r=lnicola
...
internal: Improve readability of the parser code
The code is basically equivalent to the previous version, but it improves the readability by making it much more simpler and concise.
2024-03-08 12:21:18 +00:00
Pavan Kumar Sunkara
a838e44032
Remove unncessary check for macro call
2024-03-08 12:03:35 +00:00
Pavan Kumar Sunkara
2a41b2cd94
Improve readability of the parser code
2024-03-08 12:00:24 +00:00
Pavan Kumar Sunkara
b37ccfce44
Remove unused keyword from visibility recovery
2024-03-08 11:53:03 +00:00
DropDemBits
bc381837e3
fix: Preserve $
and \
in postfix format completions
...
`parse_format_exprs` doesn't escape these two anymore, so they have to be escaped as a separate step.
2024-03-07 16:55:09 -05:00
DropDemBits
7dadc64d1c
minor: Update comments in format_string_exprs
...
`parse_format_exprs` no longer handles escaping `$` and `\`
2024-03-07 16:08:20 -05:00
bors
48cb059182
Auto merge of #16781 - DropDemBits:extract-format-args-escaping, r=Veykril
...
fix: Don't escape `\` and `$` in "Extract format expressions" assist
Fixes #16745
2024-03-07 20:04:33 +00:00
DropDemBits
1f37e5ac9a
fix: Don't escape \
and $
in "Extract format expressions" assist
2024-03-07 14:20:23 -05:00
Laurențiu Nicola
cd2347e132
Skip match diagnostics for partially unknown types
2024-03-07 19:11:23 +02:00
bors
bbb441ec6d
Auto merge of #16778 - Nadrieril:update-pat-ana, r=lnicola
...
Update `rustc_pattern_analysis` to 0.42.0
There was an important API change in 0.41.0, and (hopefully) a fix for https://github.com/rust-lang/rust-analyzer/issues/16774 in 0.42.0.
2024-03-07 16:22:26 +00:00
Nadrieril
e31484c108
Update the other crates too
2024-03-07 16:44:46 +01:00
Nadrieril
1b0b4220fd
Update rustc_pattern_analysis
to 0.42.0
2024-03-07 16:33:31 +01:00
bors
b1f6d56e44
Auto merge of #16777 - Veykril:body-invalid, r=Veykril
...
fix: Don't invalid body query results when generating desugared names
The hack remains until we get hygiene, but with this the generated names are stable across bodies
2024-03-07 14:21:26 +00:00
Lukas Wirth
09b9a921a8
fix: Don't invalid body query results when generating desugared names
2024-03-07 15:03:16 +01:00
bors
e101f24798
Auto merge of #16776 - Veykril:parse-macro-parse, r=Veykril
...
fix: Don't force draw a dependency edge to the real_span_map query
This can cause extra invalidations as like direct `AstIdMap` dependencies
2024-03-07 13:19:36 +00:00
Lukas Wirth
c04c0dd5ba
fix: Don't force draw a dependency edge to the real_span_map query
2024-03-07 14:14:59 +01:00
bors
0ffc1ef115
Auto merge of #16775 - Veykril:parse-macro-parse, r=Veykril
...
fix: Remove accidental dependency between `parse_macro_expansion` and `parse`
Turns out my idea from https://github.com/rust-lang/rust-analyzer/pull/15251 causes all builtin derive expansions to obviously rely on the main parse, meaning the entire `macro_arg` layer becomes kind of pointless. So this reverts that PR again.
2024-03-07 10:47:35 +00:00
bors
a1fda6476c
Auto merge of #16742 - alibektas:13529/source_root_tree, r=Veykril
...
internal: Implement parent-child relation for `SourceRoot`s
This commit adds the said relation by keeping a map of type `FxHashMap<SourceRootId,Option<SourceRootId>>` inside the `GlobalState`. Its primary use case is reading `rust-analyzer.toml`(#13529 ) files that can be placed in every local source root. As a config will be found by traversing this "tree" we need the parent information for every local source root. This commit omits defining this relation for library source roots entirely.
2024-03-07 10:30:08 +00:00
bors
00f6a7aced
Auto merge of #16772 - Veykril:salsa-tracing, r=Veykril
...
internal: Add tracing spans to macro generated database
2024-03-07 10:16:53 +00:00
Lukas Wirth
bd0ffb0248
Remove accidental dependency between parse_macro_expansion
and parse
2024-03-07 11:16:40 +01:00
Lukas Wirth
9c2fa76c84
Dedup hprof stuff
2024-03-07 10:21:50 +01:00
Lukas Wirth
09d33f3e1e
Add diagnostics integrated benchmark
2024-03-07 09:33:48 +01:00
Lukas Wirth
a3b6e891ea
Add tracing spans to macro generated database
2024-03-06 20:19:36 +01:00
Ali Bektas
9c50d129da
Opt for FxHashMap<Id,Id> instead of <Id,Option<Id>> and apply requested changes
2024-03-06 19:55:04 +01:00
Ali Bektas
a15cc86c64
Implement parent-child relation for SourceRoot
s
...
This commit adds the said relation by keeping a map of type `FxHashMap<SourceRootId,Option<SourceRootId>>`
inside the `GlobalState`. Its primary use case is reading the rust-analyzer.toml files that can be
placed under every local source root. As a config will be found by traversing this "tree" we need the parent information
for every local source root. This commit omits defining this relation for library source roots entirely.
2024-03-06 19:55:04 +01:00
bors
ce15e73a8e
Auto merge of #16773 - Veykril:text-explorer, r=Veykril
...
fix: Add config and capability for test explorer
2024-03-06 18:26:40 +00:00
Lukas Wirth
1c6d1b4f2a
fix: Add config and capability for test explorer
2024-03-06 19:20:58 +01:00
Wyatt Herkamp
4f0bc1a314
Typo
2024-03-06 11:51:45 -05:00
Wyatt Herkamp
255ba692aa
Added tests, added Union Support, and code cleanup
2024-03-06 10:55:47 -05:00
bors
e5889c9b43
Auto merge of #16770 - roife:fix-issue-16278, r=Veykril
...
fix: panic when using float numbers without dots in chain calls
Fix #16278 .
This PR fixes the panic caused by using floating-point numbers without a dot (such as `1e2`) in chain calls.
-------------
Although this syntax is very odd 🤣 , r-a should not panic.
2024-03-06 15:38:35 +00:00
roife
91d181feff
minor: fmt and clippy
2024-03-06 23:32:40 +08:00
roife
e2daee61bc
test: add test for float_split_scientific_notation
2024-03-06 22:51:22 +08:00
roife
03420c330e
fix: panic when split float numbers in scientific notation
2024-03-06 22:50:50 +08:00
bors
b85d38f7d6
Auto merge of #16755 - Veykril:rustup-bins, r=Veykril
...
For toolchain binaries use the full path found in $PATH
Fixes https://github.com/rust-lang/rust-analyzer/issues/16754
2024-03-06 14:47:32 +00:00
Shoyu Vanilla
a8f56112ea
fix: Function argument type inference with associated type impl trait
2024-03-06 21:16:41 +09:00
bors
52d8ae791d
Auto merge of #16766 - roife:fix-issue-15198, r=Veykril
...
fix: keep attributes in assist 'generate_delegate_trait'
fix #15198 .
This PR address the issue that `impl` generated by `generate_delegate_trait` doesn't keep attributes.
2024-03-06 09:27:49 +00:00
roife
5c9ce7b11f
test: add tests for keeping attrs in assist 'generate_delegate_trait'
2024-03-06 15:32:49 +08:00
roife
faea7fca01
fix: keep attrs for assist 'generate_delegate_trait'
2024-03-06 15:32:26 +08:00
hkalbasi
44be2432f5
Add test explorer
2024-03-06 00:05:29 +03:30
Vincent Esche
bf141310f8
Add fn index()
accessor for hir::Param
2024-03-05 16:02:22 +01:00
Vincent Esche
1afeea85ff
Add fn parent_fn()
accessors for hir::Param
& hir::SelfParam
2024-03-05 16:01:01 +01:00
Wyatt Herkamp
6027eae51e
Fix Tests + Fix Warnings
2024-03-05 08:34:52 -05:00
Wyatt Herkamp
b45cfe15b5
Added quickfix for unresolved field.
2024-03-05 08:07:21 -05:00
roife
9cc3a9cfc2
fix: formatting
2024-03-05 19:55:31 +08:00
Lukas Wirth
d21f88883b
Remove some unnecessary cloning in method_resolution
2024-03-05 12:39:27 +01:00
Lukas Wirth
593156a357
Re-use InferenceTable
by snapshotting in method resolution
2024-03-05 12:39:27 +01:00
roife
16995ceda9
test: add tests for constants inside range pattern
2024-03-05 19:31:20 +08:00
roife
96a7c6ae3c
fix: mir for range pattern
2024-03-05 19:31:20 +08:00
roife
ece18fecfa
fix: resolve sub-patterns inside range pattern
2024-03-05 19:31:20 +08:00
bors
2898c4217d
Auto merge of #16758 - Veykril:cargo-lock, r=Veykril
...
Update Cargo.lock
2024-03-05 11:17:42 +00:00
Lukas Wirth
00a6cc0664
Update Cargo.lock
2024-03-05 12:16:19 +01:00
bors
676455f911
Auto merge of #16757 - Veykril:style-lints, r=Veykril
...
fix: Put style lints behind disabled-by-default config
Fixes https://github.com/rust-lang/rust-analyzer/issues/16542
Fixes https://github.com/rust-lang/rust-analyzer/issues/16725
cc https://github.com/rust-lang/rust-analyzer/issues/16628
Our diagnostic infra is not yet setup for those kinds of diagnostics
2024-03-05 10:45:05 +00:00
Lukas Wirth
8844640c6f
fix: Put style lints behind disabled-by-default config
2024-03-05 11:43:23 +01:00
Lukas Wirth
b20e467373
internal: Adjust a few things for trait assoc item hovers
2024-03-05 11:06:36 +01:00
Lukas Wirth
6b48133e9a
Prefer cargo proxies when setting RUSTUP_TOOLCHAIN
2024-03-05 10:44:17 +01:00
Lukas Wirth
c310aee8d6
For toolchain binaries ue the full path found in $PATH
2024-03-05 10:17:09 +01:00
Lukas Wirth
fe0daa7be3
Revert "prioritise rustup sysroots over system ones"
...
This reverts commit 9f1d4aa4b9
.
2024-03-05 09:37:25 +01:00
bors
ce3216e0ae
Auto merge of #15938 - Young-Flash:display_trait_item_when_hover, r=Veykril
...
feat: add hover display for trait assoc items
This PR enable preview assoc items when hover on `trait`
![image](https://github.com/rust-lang/rust-analyzer/assets/71162630/d9c3949c-33cf-4a32-aa97-3af46b28033a )
inspired by https://github.com/rust-lang/rust-analyzer/pull/15847
2024-03-05 08:26:53 +00:00
Nicholas Nethercote
49c0b33862
Change message type in bug functions.
...
From `impl Into<DiagnosticMessage>` to `impl Into<Cow<'static, str>>`.
Because these functions don't produce user-facing output and we don't
want their strings to be translated.
2024-03-05 17:11:42 +11:00
Niklas Lindorfer
2a4ba4295b
fix: hide destructure_struct_binding assist if no public fields
2024-03-04 21:50:01 +00:00
Lukas Wirth
b9dbb8afd9
Regenerate lints table
2024-03-04 17:42:18 +01:00
Lukas Wirth
76463eee48
Move lint definition generation into xtask/codegen
2024-03-04 17:14:14 +01:00