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
Giga Bowser
59cd717602
fix: Handle the final statement in SyntaxFactory::block_expr
properly
...
This caused a bug that was rather tricky to hunt down!
2024-12-09 21:15:15 -05:00
Giga Bowser
d881208d1b
Add diagnostic fix to remove unnecessary wrapper in type mismatch
...
I also reorganized the tests in a more logical order, and removed the redundant `test_` prefix from their names.
2024-12-09 21:15:15 -05:00
Kirill Bulatov
d8d35dbfcc
Clippy fixes
2024-12-10 01:04:02 +02:00
Kirill Bulatov
89c2aaed8c
Avoid hashing completion-related ranges as those may change during /resolve query
2024-12-10 00:45:57 +02:00
Yuki Sireneva
dff827741d
crates/r-a: Fix typo in debug message
2024-12-10 00:13:17 +03:00
Kirill Bulatov
b59b2fb469
Unite more bool hashing
2024-12-09 22:38:55 +02:00
Kirill Bulatov
5906bda975
Stop excluding Helix from the general resolve path
2024-12-09 22:26:00 +02:00
Kirill Bulatov
d348ffb480
Always compute the hash when r-a wants the imports to be resolved
2024-12-09 22:26:00 +02:00
Kirill Bulatov
62d97d9ba7
Draft completion hashing
2024-12-09 22:26:00 +02:00
roife
9c03cbb499
minor: enhance name suggestion for Arc<T>
and Rc<T>
2024-12-10 02:47:52 +08:00
Lukas Wirth
99a6ecd41e
Merge pull request #18647 from Veykril/push-nsrrmmnzzoym
...
internal: Disable pipe on typing handler
2024-12-09 15:06:29 +00:00
Lukas Wirth
f021ec3b96
Disable pipe on typing handler
2024-12-09 15:52:04 +01:00
Lukas Wirth
067b4a32dd
Merge pull request #18645 from Veykril/push-yruoyrvrsntw
...
fix: Non-exhaustive structs may be empty
2024-12-09 13:26:47 +00:00
Lukas Wirth
55a7ee8065
fix: Non-exhaustive structs may be empty
2024-12-09 14:12:22 +01:00
Lukas Wirth
d8248714dc
Merge pull request #18644 from Veykril/push-nolvpzqvoqwx
...
Remove patch sysroot cfg-if hack
2024-12-09 10:58:27 +00:00
Lukas Wirth
bdb2a3e182
Merge pull request #18643 from Veykril/push-muwuzmowptnn
...
internal: Rename test fixture crates to ra_test_fixture
2024-12-09 10:54:51 +00:00
Lukas Wirth
7085328185
Remove patch sysroot cfg-if hack
2024-12-09 11:42:51 +01:00
Lukas Wirth
956ff4d8c5
Rename test fixture crates to ra_test_fixture
2024-12-09 11:40:21 +01:00
Laurențiu Nicola
d5b96b7998
Remove unstable attributes in minicore
2024-12-09 11:17:17 +02:00
Lukas Wirth
94032e8c64
Merge pull request #18441 from Veykril/lw-psyvmlotlvqn
...
internal: Do not cache the config directory path
2024-12-09 08:47:20 +00:00
Lukas Wirth
10a07a443d
Fix config guard lock for ratoml tests
2024-12-09 09:33:02 +01:00
Lukas Wirth
1c3043bc8c
Merge pull request #18635 from ChayimFriedman2/fix-test
...
minor: Fix a test that didn't test what it should
2024-12-09 08:02:05 +00:00
Giga Bowser
e66b4f336d
fix: Map new replacement nodes to their mutable equivalents in SyntaxEditor
2024-12-08 15:55:34 -05:00
Chayim Refael Friedman
26333a467e
Fix a test that didn't test what it should
...
That is, fix the helper function and disable the tests for now.
2024-12-08 15:02:14 +02:00
Lukas Wirth
4c755e62a6
Merge pull request #18633 from ChayimFriedman2/unify-fn
...
fix: Coerce two `FnDef`s to fn pointers even if they are the same, if they are subtypes
2024-12-08 07:18:57 +00:00
Chayim Refael Friedman
a9e015f8ee
Coerce two FnDef
s to fn pointers even if they are the same, if they are subtypes
...
That's because they can be the same function but still different substs, which mandates them to coerce to fn pointers in order to unify.
2024-12-07 19:16:00 +02:00
Ali Bektas
4fcecbb55e
Watch for user config ratoml
2024-12-07 15:22:35 +01:00
Lukas Wirth
4a418837f2
Merge pull request #18575 from Giga-Bowser/flip-assists
...
minor: Migrate `flip_*` assists to `SyntaxEditor`
2024-12-07 12:27:40 +00:00
Lukas Wirth
02aca112e8
Merge pull request #18630 from Veykril/push-ystzsxpywnxn
...
fix: Temporarily disable completion resolve support for helix and neovim
2024-12-07 12:23:21 +00:00