bors
c864953c0f
Auto merge of #16583 - Veykril:unknown-mismatch, r=Veykril
...
fix: Don't show type mismatches for `{unknown}` to non-`{unknown}` mismatches
Fixes https://github.com/rust-lang/rust-analyzer/issues/15704
Basically we zip the two types, inspecting their substitutions if the constructors are the same, if we encounter a zip step with an `{unknown}` on one side and a non-`{unknown}` on the other we error out and discard the diagnostic. Otherwise we keep it.
2024-02-16 12:01:33 +00:00
Lukas Wirth
fd652ceb73
fix: Don't show type mismatches for {unknown}
to non-{unknown}
mismatches
2024-02-16 12:16:43 +01:00
bors
a01655552d
Auto merge of #16582 - Veykril:find-path-length, r=Veykril
...
fix: Respect textual length of paths in find-path
Fixes https://github.com/rust-lang/rust-analyzer/issues/16572
2024-02-16 09:58:11 +00:00
Lukas Wirth
c00c9ee959
fix: Respect textual length of paths in find-path
2024-02-16 10:54:54 +01:00
DropDemBits
4af075dcda
Remove SourceChangeBuilder::{insert,remove}_snippet
...
All assists have been migrated to use the structured snippet versions of these methods.
2024-02-15 21:34:29 -05:00
DropDemBits
eb6d6ba17c
Migrate generate_trait_from_impl
to mutable ast
2024-02-15 21:34:29 -05:00
DropDemBits
115646d7d5
Align set_visibility
with the rest of the set_
edit-in-place methods
2024-02-15 20:40:14 -05:00
DropDemBits
581d457e13
Add add_placeholder_snippet_group
...
Used for allowing newly generated syntax constructs to be renamed without having to go through a separate rename step.
2024-02-15 20:24:31 -05:00
bors
b9b0d29b8e
Auto merge of #16574 - davidsemakula:needless-return-fix, r=Veykril
...
fix: Fix "needless return" diagnostic for trailing item declarations
Fixes #16566
2024-02-15 17:36:17 +00:00
davidsemakula
9ae0f924dd
fix "needless return" for trailing item declarations
2024-02-15 20:07:58 +03:00
bors
b30b77d373
Auto merge of #16573 - Veykril:salsa-doc-tests, r=Veykril
...
internal: Remove salsa doc compile tests
These don't play well with the github CI error annotations
2024-02-15 16:29:39 +00:00
Lukas Wirth
1443d49b72
Remove salsa doc compile tests
2024-02-15 17:28:24 +01:00
bors
db277c7bb3
Auto merge of #16569 - DropDemBits:structured-snippet-fix-adjust-snippet-ranges, r=Veykril
...
fix: Place snippets correctly in multi-edit assists
Fixes #16539
2024-02-15 15:54:23 +00:00
DropDemBits
7cf4a8a3bf
fix: Place snippets correctly in multi-edit assists
2024-02-14 21:35:17 -05:00
DropDemBits
0d6024c021
Add tests for snippet range adjustment
...
Uses actual source for tests to easily confirm the results.
2024-02-14 21:33:05 -05:00
Wilfred Hughes
dda641c62c
Set documentation field in SCIP from doc comment
...
Previously, the documentation field was the same as the text shown to
users when they hover over that symbol. The documentation should
really just be the doc comment, and as of #16179 the signature is
already stored in the signatureDocumentation field.
2024-02-14 14:46:32 -08:00
Maybe Waffle
e146139957
Add support for become
expr/tail calls
2024-02-14 14:57:18 +00:00
bors
3bb8d3a32f
Auto merge of #16247 - Veykril:opqueues, r=Veykril
...
fix: Fix build scripts not being rebuilt in some occasions
Also makes proc-macro changed flag setting async, we don't wanna block `process_changes` on the database as that is on the main thread!
2024-02-14 14:33:16 +00:00
Lukas Wirth
1e6cef94df
fix: Fix build scripts not being rebuilt in some occasions
2024-02-14 15:20:45 +01:00
Lukas Wirth
465ddef7cc
fix: Set RUSTUP_TOOLCHAIN and invoke the proxies instead of directly invoking sysroot binaries
2024-02-14 15:13:45 +01:00
bors
000ce5d29c
Auto merge of #16562 - Veykril:problem-matcher, r=Veykril
...
internal: Add a clippy and rustfmt problem matcher to CI
2024-02-14 11:40:38 +00:00
Lukas Wirth
f481181a14
Run rustfmt directly on CI
2024-02-14 11:36:25 +01:00
Laurențiu Nicola
c738655188
Set channel override when querying the sysroot metadata
2024-02-14 08:45:11 +02:00
Lukas Wirth
a981db53fa
fix: Pass .cargo/config.toml env vars to proc-macro server
2024-02-13 19:42:03 +01:00
bors
2c05da15a9
Auto merge of #16553 - Veykril:field-lit-recovery, r=Veykril
...
fix: Imrpove recover on `=` for record field initializer and pattern
2024-02-13 17:28:36 +00:00
Lukas Wirth
bf115a6064
fix: Recover from =
in record pattern field
2024-02-13 18:25:40 +01:00
Lukas Wirth
ccccc299c8
fix: Recover from =
in record constructor field assignment
2024-02-13 18:23:33 +01:00
bors
fc1ee6136c
Auto merge of #16544 - dfireBird:impl_trait_completion, r=Veykril
...
Add completions to show only traits in trait `impl` statement
This is prerequisite PR for adding the assist mentioned in #12500
P.S: If wanted, I will add the implementation of the assist in this PR as well.
2024-02-13 16:38:35 +00:00
Lukas Wirth
7f661782cd
Simplify
2024-02-13 17:26:14 +01:00
dfireBird
0e47befaf3
fix flyimport showing other types in impl
trait statement
2024-02-13 19:31:04 +05:30
dfireBird
9897662bf7
add completions to show only traits with qualified path prefix
2024-02-13 18:41:24 +05:30
bors
3c4d642d8b
Auto merge of #16117 - mustakimali:mo-order, r=Veykril
...
feat: completion list suggests constructor like & builder methods first
When typing `MyType::` the completion items' order could be re-ordered based on how likely we want to select those:
* Constructors: `new` like functions to be able to create the type,
* Constructors that take args: Any other function that creates `Self`,
* Builder Methods: any builder methods available,
* Regular methods & associated functions (no change there)
![image](https://github.com/rust-lang/rust-analyzer/assets/1546896/54593b91-07b3-455a-8a71-8d203d4eaf4a )
In this photo, the order is:
* `new` constructor is first
* `new_builder` second is a builder method
* `aaaanew` is a constructor that takes arguments, is third and is irrespective of its alphabetical order among names.
---
Another Example using actix `HttpServer` shows preferring constructor without `self` arg first (the `new` method)
![image](https://github.com/rust-lang/rust-analyzer/assets/1546896/938d3fb0-3d7a-4427-ae2f-ec02a834ccbe )
![image](https://github.com/rust-lang/rust-analyzer/assets/1546896/2c13860c-efd1-459d-b25e-df8adb61bbd0 )
I've dropped my previous idea of highlighting these functions in the rustdoc (https://github.com/rust-lang/rust/pull/107926 )
2024-02-13 12:06:25 +00:00
Lukas Wirth
ed57008510
fix: Validate literals in proc-macro-srv FreeFunctions::literal_from_str
2024-02-13 12:33:51 +01:00
bors
925705e0c9
Auto merge of #16446 - Tyrubias:literal_from_str, r=Veykril
...
Implement `literal_from_str` for proc macro server
Closes #16233
Todos and unanswered questions:
- [x] Is this the correct approach? Can both the legacy and `rust_analyzer_span` servers depend on the `syntax` crate?
- [ ] How should we handle suffixes for string literals? It doesn't seem like `rust-analyzer` preservers suffix information after parsing.
- [x] Why are the `expect` tests failing? Specifically `test_fn_like_macro_clone_literals`
2024-02-13 10:41:36 +00:00
Mohammad Mustakim Ali
2c761048d4
fix: clippy
2024-02-13 10:11:17 +00:00
Victor Song
4923b8a74b
Return Option<Parse<ast::Literal>>
from ast::Literal::parse
2024-02-13 00:00:02 -06:00
Victor Song
1918f9b9e0
Address PR comments
2024-02-13 00:00:02 -06:00
Victor Song
cdb8a88ea3
Fix more compilation errors
2024-02-13 00:00:02 -06:00
Victor Song
965b14d17a
Fix compilation errors
2024-02-13 00:00:02 -06:00
Victor Song
027f263ef5
Note FIXME
for suffixes
2024-02-13 00:00:02 -06:00
Victor Song
6cd458f3d0
Move raw_delimiter_count
to syntax
crate
2024-02-13 00:00:02 -06:00
Victor Song
e8c9ca2a2f
Refactor shared literal_from_str
code
2024-02-13 00:00:02 -06:00
Victor Song
adf7adf3e8
Add syntax
crate as proc-macro-srv
dep
2024-02-13 00:00:02 -06:00
Victor Song
68365513f3
Implement literal_from_str
for proc macro srv
2024-02-13 00:00:02 -06:00
Chengxu Bian
ca64359945
remove eprintln! overwrite
2024-02-12 23:54:32 -05:00
Mohammad Mustakim Ali
0af14ef8c3
chore: optimise
2024-02-12 23:11:06 +00:00
Mohammad Mustakim Ali
24a3c42bd6
feat: completion list suggests constructor like & builder methods first
2024-02-12 22:34:59 +00:00
Lukas Wirth
a7641a8f57
fix: Fix target layout fetching
2024-02-12 21:29:52 +01:00
dfireBird
0209c28136
add completions to show only traits in trait impl
statement
2024-02-12 22:56:03 +05:30
bors
cf8733353d
Auto merge of #16540 - Veykril:macro-arg, r=Veykril
...
internal: macro_arg query always returns a TokenTree
2024-02-12 16:32:40 +00:00