Lukas Wirth
31938dbfdc
Merge pull request #18735 from Veykril/push-rpuxqrzrzvsw
...
fix: Set `result_id` for `RelatedFullDocumentDiagnosticReport` everywhere
2024-12-22 10:03:25 +00:00
Lukas Wirth
6b5615df46
fix: Set result_id
for RelatedFullDocumentDiagnosticReport
everywhere
2024-12-22 10:48:57 +01:00
roife
59e3d6684b
fix: only show debug lens with a valid root
2024-12-21 07:03:45 +08:00
roife
693b110e3d
fix: remove always! check for file_id in runnables
2024-12-21 07:00:49 +08:00
Lukas Wirth
c966876f85
Revert "internal: Drop proc-macro server support for ~1.66.0 and older toolchains"
2024-12-20 20:51:09 +01:00
Giga Bowser
2b6e7ce896
internal: Standardize how we take iterator parameters in SyntaxFactory
2024-12-20 12:06:27 -05:00
Chayim Refael Friedman
82896b2cc4
Move ty lowering diagnostic definitions into a separate module
...
To keep them organized.
2024-12-20 15:34:23 +02:00
Lukas Wirth
f4cafbb678
Merge pull request #18729 from Veykril/push-kyxtnozqzwkn
...
Clear flycheck diagnostics more granularly
2024-12-20 13:23:31 +00:00
Lukas Wirth
db8660410f
Clear all check diagnostics when the workspace changes
2024-12-20 14:09:29 +01:00
Lukas Wirth
4a8eb8c229
Arc the package ids coming from flycheck
2024-12-20 14:09:29 +01:00
Lukas Wirth
7da17fe195
Arc the workspace root flycheck
2024-12-20 14:09:11 +01:00
Lukas Wirth
7aab6a5c12
Clear flycheck diagnostics more granularly
2024-12-20 14:09:11 +01:00
Lukas Wirth
15d2d509d0
Merge pull request #18723 from ChayimFriedman2/tracing-complete
...
fix: Fix a case where completion was unable to expand a macro
2024-12-20 12:33:25 +00:00
Chayim Refael Friedman
02d47f3a81
Fix a case where completion was unable to expand a macro
...
Which caused the macros of the popular `tracing` crate to not offer completions.
The reason is rather complicated: it boils down to macro ignoring their input and completion always choosing the first expansion.
2024-12-20 13:14:59 +02:00
Lukas Wirth
f3f8f4c6ad
Merge pull request #18728 from Veykril/push-ozqlrzmqklwt
...
internal: Split `serde` derive feature into `serde_derive` usage
2024-12-20 11:09:27 +00:00
Lukas Wirth
027daf1686
Merge pull request #18702 from ChayimFriedman2/prep
...
minor: Use a record struct instead of a tuple for each namespace in `PerNs`
2024-12-20 11:05:49 +00:00
Lukas Wirth
5211972743
internal: Split serde derive feature into serde_derive
usage
...
Ideally we'd not have any dependency pull in the derive feature for faster build times, once that is the case this change would have an actual effect.
See https://github.com/matklad/macro-dep-test/blob/master/README.md for context.
2024-12-20 11:55:02 +01:00
Chayim Refael Friedman
b5486ffc42
Show substitution where hovering over generic things
...
There are few things to note in the implementation:
First, this is a best-effort implementation. Mainly, type aliases may not be shown (due to their eager nature it's harder) and partial pathes (aka. hovering over `Struct` in `Struct::method`) are not supported at all.
Second, we only need to show substitutions in expression and pattern position, because in type position all generic arguments always have to be written explicitly.
2024-12-20 11:30:19 +02:00
Lukas Wirth
e0c11f631e
Merge pull request #18726 from Veykril/push-vyzotyqqtpqs
...
fix: Reduce applicability of unnecessary_async assist
2024-12-20 07:56:23 +00:00
Lukas Wirth
0be03285f9
fix: Reduce applicability of unnecessary_async assist
2024-12-20 08:41:46 +01:00
Lukas Wirth
fe027d79d2
Merge pull request #18717 from Veykril/push-pomxnvxotwlr
...
internal: Set `result_id` for pull diagnostics
2024-12-19 15:38:32 +00:00
Lukas Wirth
c1a2955b50
internal: Set result_id
for pull diagnostics
2024-12-19 16:24:18 +01:00
Lukas Wirth
27fac08c82
Merge pull request #18715 from aibaars/ungram-asm-option
...
Fix AsmOption rule in rust.ungram
2024-12-18 14:22:05 +00:00
Lukas Wirth
e89d72056b
fix: Consider both completion detail fields in to_proto
2024-12-18 15:00:09 +01:00
Arthur Baars
cb2829eaa7
Fix AsmOption rule in rust.ungram
2024-12-18 14:56:00 +01:00
Lukas Wirth
683150f4da
fix: Do not ask the client ro resolve for non existing label details
2024-12-18 14:03:50 +01:00
Lukas Wirth
540ada516a
internal: Cleanup label structure of CompletionItem
2024-12-18 13:37:21 +01:00
Lukas Wirth
c70b07b3c9
Merge pull request #18711 from Veykril/push-kwurwxttmqwo
...
Taking a raw ref of a deref is always safe
2024-12-18 10:47:07 +00:00
Lukas Wirth
dfa46292b6
Taking a raw ref of a deref is always safe
2024-12-18 11:32:29 +01:00
Ralf Jung
c858ce132f
make no-variant types a dedicated Variants variant
2024-12-18 11:01:54 +01:00
Ralf Jung
d7d08ae95c
Variants::Single: do not use invalid VariantIdx for uninhabited enums
2024-12-18 11:00:21 +01:00
Lukas Wirth
3d63140758
Remove salsa from proc-macro server dep tree
2024-12-18 10:24:26 +01:00
Lukas Wirth
2780dfd80c
Merge pull request #18708 from ChayimFriedman2/fix-tiny
...
fix: Fix pretty-printing of `@` patterns
2024-12-18 07:41:09 +00:00
Chayim Refael Friedman
8c8e738636
Fix pretty-printing of @
patterns
...
It didn't print the `@`.
2024-12-18 01:24:12 +02:00
ltdk
c180e41198
Stabilize #[coverage] attribute
2024-12-16 21:07:06 -05:00
Lukas Wirth
0a706f7d2a
Merge pull request #18700 from ChayimFriedman2/dyn-send
...
fix: Fix a panic with a diagnostics fix when a keyword is used as a field
2024-12-16 21:54:28 +00:00
Chayim Refael Friedman
79214583f6
Use a record struct instead of a tuple for each namespace in PerNs
...
The reason I did this is because I plan to add another field to this struct (indicating whether the item was cfg'ed out), but it seems worthy even separately and removes a bunch of one-letter variable names and tuple-indexing. It is also easy to separate from future changes, so it will be easier to review this way.
2024-12-16 22:39:50 +02:00
Chayim Refael Friedman
8277c0336e
Fix a panic with a diagnostics fix when a keyword is used as a field
...
I found it easiest to fix in the quickfix code, and not deeper (e.g. body lowering).
2024-12-16 19:58:29 +02:00
Lukas Wirth
ada5f2059c
fix: Fix path qualified auto-importing completions not working with re-exports
...
Prior to this commit we used to generate import paths, then zipped them with the existing qualifier to check if they agree on the path to import.
This is brittle when re-exports come into play causing items to have multiple applicable paths that refer to them.
This commit instead rewrites this logic by generating the import path for the qualifier, verifying that the rest of the qualifier resolves and then doing a final lookup on that resolution result for the final segment instead.
2024-12-16 13:20:55 +01:00
Lukas Wirth
65c8d1242b
Merge pull request #18698 from Veykril/push-vpqwrwxptsql
...
internal: Don't serialize empty fields in completions and resolve payloads
2024-12-16 10:39:19 +00:00
Lukas Wirth
61c222e1af
Merge pull request #18690 from Giga-Bowser/extract-variable-string
...
feat: Use string literal contents as a name when extracting into variable
2024-12-16 10:29:05 +00:00
Lukas Wirth
de7808bb71
internal: Don't serialize empty fields in completions and resolve payloads
2024-12-16 11:25:29 +01:00
Lukas Wirth
0189a8937b
Merge pull request #18695 from roife/improve-tuple-destruction
...
minor: improve name suggestion for destructure_tuple_binding
2024-12-16 10:25:01 +00:00
Lukas Wirth
efafe66a78
Merge pull request #18696 from ChayimFriedman2/syn-syn
...
feat: Report unresolved idents for implicit captures in `format_args!()`
2024-12-16 09:33:51 +00:00
Lukas Wirth
910e705932
Merge pull request #18697 from Veykril/push-qtmmtvpyrntr
...
internal: Simplify ratoml testdir usage
2024-12-16 09:16:18 +00:00
Lukas Wirth
1b27ba86eb
internal: Simplify ratoml testdir usage
2024-12-16 10:01:35 +01:00
Chayim Refael Friedman
54ce1dda3a
Report unresolved idents for implicit captures in format_args!()
...
And also a bit of cleanup by storing the capture's span with the open quote included.
2024-12-16 10:10:26 +02:00
roife
ad63e6957f
refactor: simplify edit_tuple_usages
in destructure_tuple_binding
2024-12-16 14:12:19 +08:00
Laurențiu Nicola
27e824fad4
Merge pull request #18693 from Veykril/push-wzoomkkmuolm
...
fix: Fix proc-macro dylib names on windows
2024-12-15 18:32:38 +00:00
Lukas Wirth
6c6779e6f0
fix: Fix proc-macro dylib names on windows
2024-12-15 17:38:44 +01:00
Lukas Wirth
15239f612d
internal: Show mir eval errors on hover with debug env var set
2024-12-15 17:38:37 +01:00
Giga Bowser
620af0ef2f
feat: Use string literal contents as a name when extracting into variable
2024-12-14 13:36:57 -05:00
roife
cb1533f7e9
feat: improve name generation in destructure_tuple_binding
2024-12-13 23:34:03 +08:00
Laurențiu Nicola
dc978a976f
Bump typos
2024-12-13 11:45:44 +02:00
Laurențiu Nicola
405f01ac3f
Merge pull request #18678 from regexident/fix-typos
...
minor: Fix a few typos
2024-12-13 09:09:33 +00:00
Vincent Esche
3d4f10a856
Fix a few typos
2024-12-13 09:54:35 +01:00
Lukas Wirth
6aadbae022
Merge pull request #18674 from Veykril/push-lrxotqknvxvr
...
Show expansion errors in expand_macro feature
2024-12-13 08:50:45 +00:00
Lukas Wirth
7ce807bf4d
Merge pull request #18672 from Veykril/push-lurnqpqtzvzq
...
internal: Do not require a special env var to be set for the proc-macro-srv
2024-12-13 08:43:33 +00:00
Lukas Wirth
28fbecff42
Show expansion errors in expand_macro feature
2024-12-13 09:36:03 +01:00
Lukas Wirth
a5adfafd93
Do not require a special env var to be set for the proc-macro-srv
2024-12-13 09:29:16 +01:00
Lukas Wirth
9b2e72c404
Merge pull request #18677 from Veykril/push-uumpxklsqpzk
...
internal: Implement `naked_asm!` builtin
2024-12-12 16:58:26 +00:00
Lukas Wirth
f748eb510e
internal: Implement naked_asm!
builtin
2024-12-12 17:43:27 +01:00
Lukas Wirth
cde07f29c9
Merge pull request #18675 from ShoyuVanilla/issue-18664
...
fix: Panic when displaying generic params with defaults, again
2024-12-12 16:37:10 +00:00
Shoyu Vanilla
94ec3fe7ed
fix: Panic when displaying generic params with defaults, again
2024-12-13 01:15:41 +09:00
Philipp Hofer
04ac6f8405
Fix typo in error message for invalid casting
...
Corrected the spelling of "defererence" to "dereference" in the error message that informs users about invalid casting requirements.
2024-12-12 15:42:21 +01:00
Lukas Wirth
acd469681f
Merge pull request #18670 from Veykril/push-ylomnylswnxm
...
internal: Drop proc-macro server support for ~1.66.0 and older toolchains
2024-12-12 14:19:07 +00:00
Lukas Wirth
f0b5b8333d
internal: Drop proc-macro server support for ~1.66.0 and older toolchains
2024-12-12 15:06:14 +01:00
Lukas Wirth
a6c291ed07
Merge pull request #18652 from Giga-Bowser/extract-constant
...
feat: Add an assist to extract an expression into a constant
2024-12-12 13:22:05 +00:00
Lukas Wirth
3bd459767c
Merge pull request #18669 from Veykril/push-qqkuxtvsmsut
...
internal: Only parse the object file once in proc-macro-srv
2024-12-12 12:46:29 +00:00
Lukas Wirth
8a86fa01ac
Fix clippy lints in proc-macro-srv
2024-12-12 13:30:42 +01:00
Lukas Wirth
c9314d4aff
Only parse the object file once
2024-12-12 13:23:25 +01:00
Lukas Wirth
096e3e55e3
Merge pull request #18668 from Veykril/push-tpkmsyllunqv
...
fix: Fix sourceroot construction for virtual manifests
2024-12-12 12:13:48 +00:00
Lukas Wirth
a8efb137a1
Merge pull request #18660 from Veykril/push-snumrtvzwqvw
...
fix: copied proc-macros not being cleaned up on exit
2024-12-12 12:09:41 +00:00
Lukas Wirth
ab46e97188
fix: Fix sourceroot construction for virtual manifests
2024-12-12 12:58:18 +01:00
1hakusai1
fc2b70132f
Generate implementation with items even if snippet text edit is disabled
2024-12-12 18:55:14 +09:00
Giga Bowser
21782b9a8d
minor: Group extract_function
with other extraction assists
2024-12-11 14:11:20 -05:00
Giga Bowser
0cad614b3b
feat: Add an assist to extract an expression into a static
2024-12-11 14:04:54 -05:00
Chayim Refael Friedman
0b7a6f38d7
Properly handle different defaults for severity of lints
...
Previously all lints were assumed to be `#[warn]`, and we had a hand-coded list of `#[allow]` exceptions. Now the severity is autogenerated from rustdoc output.
Also support lints that change status between editions, and the `warnings` lint group.
2024-12-11 20:48:41 +02:00
Giga Bowser
135e71fcb3
minor: Add item_static
constructor to SyntaxFactory
2024-12-11 10:32:32 -05:00
Giga Bowser
1979d3f9b5
feat: Add an assist to extract an expression into a constant
2024-12-11 09:52:03 -05:00
Giga Bowser
17e482b1a9
internal: Move is_body_const
to ide_assists::utils
2024-12-11 09:52:03 -05:00
Giga Bowser
27a2f9d594
minor: Add item_const
constructor to SyntaxFactory
2024-12-11 09:52:03 -05:00
Lukas Wirth
e7a4c99ce3
Merge pull request #18663 from Veykril/push-syoklzkntykn
...
fix: Swallow rustfmt parsing panics
2024-12-11 10:06:28 +00:00
Lukas Wirth
8963e9736b
fix: Swallow rustfmt parsing panics
2024-12-11 10:52:04 +01:00
Laurențiu Nicola
30262281eb
Merge from rust-lang/rust
2024-12-11 11:49:08 +02:00
Lukas Wirth
16c0f25579
Fix copied proc-macros not being cleaned up on exit
2024-12-11 10:17:33 +01:00
Lukas Wirth
f370550b0a
Unload proc-macro dlls on changed timestamp
2024-12-11 09:34:27 +01:00
Lukas Wirth
41f3319173
Merge pull request #18458 from Giga-Bowser/master
...
feat: Add diagnostic fix to remove unnecessary wrapper in type mismatch
2024-12-11 07:09:15 +00:00
Lukas Wirth
087cb629be
Merge pull request #18653 from SomeoneToIgnore/hash-completions
...
Hash completion items to properly match them during /resolve
2024-12-11 07:08:33 +00:00
Lukas Wirth
002fcea441
Merge pull request #18657 from Giga-Bowser/generate-enum-variant
...
minor: Migrate `generate_enum_variant` to `SyntaxEditor`
2024-12-11 07:07:22 +00:00
Lukas Wirth
b0c82c974d
Merge pull request #18656 from roife/fix-issue-18639
...
feat: preserve order of parameters in extract_functions
2024-12-11 07:00:17 +00:00
roife
78fb0e47ca
feat: preserve order of parameters in extract_functions
2024-12-11 02:26:58 +08:00
Giga Bowser
547f75a2ce
minor: Migrate generate_enum_variant
to SyntaxEditor
2024-12-10 13:11:33 -05:00
Giga Bowser
21b376583a
minor: Add ty_infer
constructor to SyntaxFactory
2024-12-10 12:33:32 -05:00
Giga Bowser
d7d68310c0
minor: Add whitespace
constructor to SyntaxFactory
2024-12-10 12:25:13 -05:00
Giga Bowser
c70bf568bb
minor: Add item_enum
constructor to SyntaxFactory
...
I recursively added all constructors it depends on. I also changed the old `make::` constructors to support more of the grammar.
2024-12-10 11:12:44 -05:00
Kirill Bulatov
4169926b3f
Address the feedback from pascalkuthe
...
* Use Base64 to minify the hash representation in the JSON data
* Do hash checks only for items with similar labels
2024-12-10 13:01:23 +02:00
Kirill Bulatov
2529e9e1e1
Address the feedback from Veykril
...
* Exclude documentation field from hashing
* Do less cloning during initial completion list generation
2024-12-10 12:33:30 +02:00
Laurențiu Nicola
7b4b83ba91
Merge pull request #18649 from roife/fix-issue-18648
...
minor: enhance name suggestion for `Arc<T>` and `Rc<T>`
2024-12-10 07:05:36 +00:00
Giga Bowser
68b85ce66f
minor: Migrate remove_unnecessary_wrapper
to SyntaxEditor
2024-12-09 21:16:31 -05:00