bors
5e1b09bb76
Auto merge of #16537 - Veykril:sysroot-tools, r=Veykril
...
internal: tool discovery prefers sysroot tools
Fixes https://github.com/rust-lang/rust-analyzer/issues/15927 , Fixes https://github.com/rust-lang/rust-analyzer/issues/16523
After this PR we will look for `cargo` and `rustc` in the sysroot if it was succesfully loaded instead of using the current lookup scheme. This should be more correct than the current approach as that relies on the working directory of the server binary or loade workspace, meaning it can behave a bit odd wrt overrides.
Additionally, rust-project.json projects now get the target data layout set so there should be better const eval support now.
2024-02-12 11:26:53 +00:00
Lukas Wirth
8f3209ba27
internal: tool discovery prefers sysroot tools
2024-02-12 12:08:18 +01:00
Nicholas Nethercote
4a13722518
Tweak delayed bug mentions.
...
Now that we have both `delayed_bug` and `span_delayed_bug`, it makes
sense to use the generic term "delayed bug" more.
2024-02-12 18:39:20 +11:00
Nadrieril
43caf8323a
Prefer debug!
to never!
and add regression test
2024-02-11 23:46:05 +01:00
Nadrieril
b04e0df1ce
pattern_analysis
doesn't need an arena anymore
2024-02-11 22:30:14 +01:00
Nadrieril
3356ebd255
Update to latest rustc_pattern_analysis
2024-02-11 22:30:14 +01:00
Tavo Annus
125791386d
Cleanup term search related changes
2024-02-11 14:35:54 +02:00
Tavo Annus
88964c0b6a
Optionally disable term search for autocompletion
2024-02-11 13:33:29 +02:00
Tavo Annus
0b838e3e23
Expand target for autocompletion
2024-02-11 13:33:29 +02:00
Tavo Annus
a946970e2d
Add quantified trees to reduce autocomplete options
2024-02-11 13:33:29 +02:00
Tavo Annus
bdbdd83ec1
Initial version of term_search for autocomplete
2024-02-11 13:33:29 +02:00
Tavo Annus
627255dd5a
Add static method tactic
2024-02-11 13:33:29 +02:00
Tavo Annus
35eb0dbbc0
Add more documentation for term search
2024-02-11 13:33:29 +02:00
Tavo Annus
bb3c7cff60
Introduce term search to rust-analyzer
2024-02-11 13:33:29 +02:00
Lukas Wirth
c990587593
fix: Fix macro transcriber emitting incorrect lifetime tokens
2024-02-11 12:10:38 +01:00
Laurențiu Nicola
e41ab350d6
Merge commit 'ddf105b646c6749a2de2451c9a499a354eec79c2' into sync-from-ra
2024-02-11 08:40:19 +02:00
bors
ddf105b646
Auto merge of #16527 - Veykril:salsa-no-self-ref, r=Veykril
...
internal: Remove SELF_REF hack for self referential SyntaxContexts
This should reduce the amount of SyntaxContexts we allocate
2024-02-10 18:58:43 +00:00
Lukas Wirth
5136705fad
internal: Remove SELF_REF hack for self referential SyntaxContexts
2024-02-10 16:20:02 +01:00
bors
1c32387ce2
Auto merge of #16526 - Veykril:item-loc, r=Veykril
...
internal: Cleanup 🧹
2024-02-10 14:38:15 +00:00
Lukas Wirth
36fb1409ed
Cleanup visibility.rs
2024-02-10 13:50:45 +01:00
Lukas Wirth
dc69255b83
Re-organize hir-def/lib.rs
2024-02-10 12:40:23 +01:00
Lukas Wirth
74eb3ecbc1
Move ChildbySource and HasSource impls to their corresponding modules
2024-02-10 12:09:12 +01:00
bors
0878cdef2a
Auto merge of #16524 - evertedsphere:swann/trait-bound-dyn, r=Veykril
...
minor: test that flip_trait_bound works with trait objects
Closes https://github.com/rust-lang/rust-analyzer/issues/16522 .
2024-02-10 10:59:46 +00:00
bors
1ef7a2329b
Auto merge of #16525 - Veykril:item-loc, r=Veykril
...
Abstract more over ItemTreeLoc-like structs
Allows reducing some code duplication by using functions generic over said structs. The diff isn't negative due to me adding some additional impls for completeness.
2024-02-10 10:47:37 +00:00
Lukas Wirth
00303c3b67
Abstract over ItemTreeLoc
2024-02-10 11:37:59 +01:00
Soham Chowdhury
dcdfc35fce
test that flip_trait_bound works with trait objects
2024-02-10 11:06:07 +01:00
bors
aa97edb214
Auto merge of #16497 - evertedsphere:swann/fix-inline-for-macro-generated-method, r=Veykril
...
Fix incorrect inlining of functions that come from MBE macros
Partial fix for https://github.com/rust-lang/rust-analyzer/issues/16471 .
As a reminder, there are two issues there:
1. missing whitespace in parameter types (the first test)
2. the `self` parameter not being replaced by `this` in the function body (the second test)
The first part is fixed in this PR. See [this comment](https://github.com/rust-lang/rust-analyzer/pull/16497#issuecomment-1934243409 ) for the second.
2024-02-10 08:59:51 +00:00
Lukas Wirth
2ebf0c87c2
Deduplicate some code
2024-02-10 01:51:22 +01:00
Soham Chowdhury
18be556b37
inline_call: remove macro self->this test
...
To be added back later once we have a fix.
See #16471 and https://github.com/rust-lang/rust-analyzer/pull/16497#issuecomment-1934243409 .
2024-02-09 22:02:51 +01:00
Tetsuharu Ohzeki
88f088c4a0
text-edit: Fix warnings about clippy str_to_string
rule
2024-02-10 01:00:41 +09:00
Tetsuharu Ohzeki
a897566515
test-fixture: Fix warnings about clippy str_to_string
rule
2024-02-10 01:00:40 +09:00
Tetsuharu Ohzeki
1915d9abb7
tt: Fix warnings about clippy str_to_string
rule
2024-02-10 01:00:40 +09:00
Tetsuharu Ohzeki
c3699b9f32
test-utils: Fix warnings about clippy str_to_string
rule
2024-02-10 01:00:40 +09:00
Tetsuharu Ohzeki
0a879f7da4
sourcegen: Fix warnings about clippy str_to_string
rule
2024-02-10 01:00:40 +09:00
Tetsuharu Ohzeki
283b140321
salsa: Fix warnings about clippy str_to_string
rule
2024-02-10 01:00:40 +09:00
Tetsuharu Ohzeki
cee3c22ae8
vfs: Fix warnings about clippy str_to_string
rule
2024-02-10 01:00:40 +09:00
Tetsuharu Ohzeki
81c35d1f56
syntax: Fix warnings about clippy str_to_string
rule
2024-02-10 01:00:40 +09:00
Tetsuharu Ohzeki
f474bd77be
parser: Fix warnings about clippy str_to_string
rule
2024-02-10 01:00:40 +09:00
Tetsuharu Ohzeki
edda6b8a1f
mbe: Fix warnings about clippy str_to_string
rule
2024-02-10 01:00:40 +09:00
Tetsuharu Ohzeki
80713250c5
load-cargo: Fix warnings about clippy str_to_string
rule
2024-02-10 01:00:40 +09:00
Tetsuharu Ohzeki
ae78dcae75
ide-ssr: Fix warnings about clippy str_to_string
rule
2024-02-10 01:00:40 +09:00
Tetsuharu Ohzeki
fb8c0f514e
ide-db: Fix warnings about clippy str_to_string
rule
2024-02-10 01:00:40 +09:00
Tetsuharu Ohzeki
f4a4b6681b
ide-completion: Fix warnings about clippy str_to_string
rule
2024-02-10 01:00:40 +09:00
Tetsuharu Ohzeki
395708d5e0
rust-analyzer: Fix warnings about clippy str_to_string
rule
2024-02-10 01:00:40 +09:00
Tetsuharu Ohzeki
80e684254d
ide-assists: Fix warnings about clippy str_to_string
rule
2024-02-10 01:00:40 +09:00
Tetsuharu Ohzeki
b89a4038c9
proc-macro-api: Fix warnings about clippy str_to_string
rule
2024-02-10 01:00:40 +09:00
Tetsuharu Ohzeki
5d1f2835af
project-model: Fix warnings about clippy str_to_string
rule
2024-02-10 01:00:40 +09:00
Tetsuharu Ohzeki
d00f1c1b16
ide-diagnostics: Fix warnings about clippy str_to_string
rule
2024-02-10 01:00:40 +09:00
Tetsuharu Ohzeki
eba1b13295
hir: Fix warnings about clippy str_to_string
rule
2024-02-10 01:00:40 +09:00
Tetsuharu Ohzeki
d580b2c7bc
hir-ty: Fix warnings about clippy str_to_string
rule
2024-02-10 01:00:40 +09:00
Tetsuharu Ohzeki
cb95ee3bc0
hir-def: Fix warnings about clippy str_to_string
rule
2024-02-10 01:00:40 +09:00
Tetsuharu Ohzeki
99f5d7ca4c
hir-def: Fix warnings about clippy str_to_string
rule
2024-02-10 01:00:40 +09:00
Tetsuharu Ohzeki
a9a315fd73
base-db: Fix warnings about clippy str_to_string
rule
2024-02-10 01:00:40 +09:00
Tetsuharu Ohzeki
8c2f301a41
ide: Fix warnings about clippy str_to_string
rule
2024-02-10 01:00:40 +09:00
Tetsuharu Ohzeki
c6637f39c0
clippy: Enable borrowed_box
rule
2024-02-10 00:14:17 +09:00
Tetsuharu Ohzeki
d45cabd029
clippy: Enable derived_hash_with_manual_eq
rule
2024-02-10 00:14:17 +09:00
Tetsuharu Ohzeki
adddd14afb
ide: Fix cargo test -p ide --doc
2024-02-10 00:14:17 +09:00
Tetsuharu Ohzeki
a3e60e7f7a
clippy: Enable needless_doctest_main
rule
2024-02-10 00:14:17 +09:00
Tetsuharu Ohzeki
3365e50180
clippy: Enable forget_non_drop
rule
2024-02-09 23:10:43 +09:00
bors
cdc3e83c2c
Auto merge of #16518 - tetsuharuohzeki:enable-some-minor-lints, r=Veykril
...
Enable some minor lints that we should tackles
This enables these lint rules that are commented as we should tackle at some points.
- non_canonical_clone_impl
- non_canonical_partial_ord_impl
- self_named_constructors
2024-02-09 13:54:36 +00:00
bors
65a644190d
Auto merge of #16424 - dfireBird:let-stmt-guarded-return-assist, r=Veykril
...
implement convert to guarded return assist for `let` statement with type that implements `std::ops::Try`
I've tried to implement the assist that #16390 talked about
If there are any improvements that I can make in implementation, please suggest them.
![Peek 2024-02-05 19-01](https://github.com/rust-lang/rust-analyzer/assets/40687700/d6af3222-4f23-4ade-a930-8a78cc75e821 )
2024-02-09 13:42:20 +00:00
Tetsuharu Ohzeki
2601d19bac
clippy: Enable non_canonical_clone_impl
rule
2024-02-09 22:37:42 +09:00
Tetsuharu Ohzeki
7669619f9a
clippy: Enable self_named_constructors
rule
2024-02-09 22:31:21 +09:00
David Barsky
2d09d69fbe
internal: fix crash inside filter_unnecessary_bounds
for a missing generic param
2024-02-08 20:58:48 -05:00
DropDemBits
05b8ccc378
Fix clippy lints
2024-02-08 19:39:04 -05:00
DropDemBits
1161082051
Remove unused code in utils
...
All usages of `render_snippet` and `Cursor` have been removed as part of the migration
2024-02-08 19:13:10 -05:00
DropDemBits
8eebf1701b
Migrate replace_derive_with_manual_impl
to mutable ast
2024-02-08 19:13:10 -05:00
DropDemBits
18ea09feca
Migrate generate_new
to mutable ast
2024-02-08 19:13:10 -05:00
DropDemBits
e28f5514e1
Add AssocItemList::add_item_at_start
...
Needed to recreate the behavior of `generate_new` addding the `new` method at the start of the impl
2024-02-08 19:13:10 -05:00
DropDemBits
e0117154cf
Migrate generate_impl
to mutable ast
2024-02-08 19:13:10 -05:00
DropDemBits
ab2233e562
Migrate generate_getter_or_setter
to mutable ast
2024-02-08 19:13:09 -05:00
DropDemBits
f1293a8fc4
Add newline to body when where clause is present
2024-02-08 19:13:09 -05:00
DropDemBits
0519414c19
Make ReferenceConversion
methods return ast types
2024-02-08 19:13:09 -05:00
DropDemBits
039b3d0abb
Add make::ext::expr_self
...
Shortcut version of `make::expr_path(make::path_unqualified(make::path_segment_self()))`
2024-02-08 19:09:33 -05:00
DropDemBits
0e39257e5b
Migrate extract_function
to mutable ast
2024-02-08 19:09:33 -05:00
DropDemBits
3924a0ef7c
Add ast versions of generate{_trait}_impl_text{_intransitive}
2024-02-08 19:09:33 -05:00
DropDemBits
8c0661b2de
Use GenericArgList
for make::impl{_trait}
...
`make::impl_` no longer merges generic params and args in order to be in line
with `make::impl_`, which doesn't do it either.
2024-02-08 19:09:32 -05:00
bors
13707845f7
Auto merge of #15863 - davidbarsky:davidbarsky/start-of-monorepo-mode, r=Veykril
...
feature: Create `UnindexedProject` notification to be sent to the client
(Note that this branch contains commits from https://github.com/rust-lang/rust-analyzer/pull/15830 , which I'll rebase atop of as needed.)
Based on the discussion in https://github.com/rust-lang/rust-analyzer/issues/15837 , I've added a notification and off-by-default toggle to send that notification from `handle_did_open_text_document`. I'm happy to rename/tweak this as needed.
I've been using this for a little bit, and it does seem to cause a little bit more indexing/work in rust-analyzer, but it's something that I'll profile as needed, I think.
2024-02-08 19:36:09 +00:00
David Barsky
6330b028b3
feature: Add a UnindexedProject
notification and a corresponding setting.
2024-02-08 14:23:00 -05:00
davidsemakula
602acfcb70
fix conflicting "unnecessary else" and "trailing return" diagnostics tests
2024-02-08 19:32:53 +03:00
davidsemakula
a250c2dde0
refactor remove trailing return diagnostic
2024-02-08 19:32:53 +03:00
davidsemakula
98e6f43a2f
remove trailing return in trailing match expression
2024-02-08 19:32:53 +03:00
davidsemakula
cad222ff1b
remove trailing return in trailing if expression
2024-02-08 19:32:53 +03:00
davidsemakula
2987fac76f
diagnostic to remove trailing return
2024-02-08 19:32:53 +03:00
bors
e07183461f
Auto merge of #16487 - ShoyuVanilla:deref-generate-getter, r=Veykril
...
Remove unnecessary `.as_ref()` in generate getter assist
Resolves #12389
2024-02-08 15:15:52 +00:00
bors
5812b693c3
Auto merge of #16484 - Austaras:master, r=Veykril
...
fix: preserve where clause when builtin derive
Closes #16432 .
2024-02-08 15:03:55 +00:00
austaras
dad0fdb13f
fix: preserve where clause when builtin derive
2024-02-08 22:44:39 +08:00
bors
0e5766b0d8
Auto merge of #16477 - davidsemakula:trait-incorrect-case-diagnostic, r=Veykril
...
feat: Add incorrect case diagnostics for traits and their associated items
Updates incorrect case diagnostic to:
- Check traits and their associated items
- Ignore trait implementations except for patterns in associated function bodies
Also cleans up `hir-ty::diagnostics::decl_check` a bit (mostly to make it a bit more DRY and easier to maintain)
Also fixes : #8675 and fixes : #8225
2024-02-08 14:40:16 +00:00
bors
e9d3565cd1
Auto merge of #16502 - davidsemakula:unnecessary-else-diagnostic, r=Veykril
...
feat: Add "unnecessary else" diagnostic and fix
Fixes #9457
2024-02-08 14:25:00 +00:00
bors
82674e21be
Auto merge of #16454 - Veykril:break-return-postfix, r=Veykril
...
feat: Add break and return postfix keyword completions
2024-02-08 14:09:04 +00:00
Lukas Wirth
ddddc9c0e2
Update test outputs
2024-02-08 14:57:21 +01:00
Lukas Wirth
15bffe25bd
feat: Add break and return postfix keyword completions
2024-02-08 14:56:10 +01:00
Lukas Wirth
545382db25
Fix warnings
2024-02-08 14:54:52 +01:00
Lukas Wirth
91dab4d720
Better error message for when proc-macros have not yet been built
2024-02-08 14:53:12 +01:00
Lukas Wirth
4bf6b160a9
Fix incorrect range uses in missing_fields quick fixes
2024-02-08 14:53:11 +01:00
bors
5c80ad05ae
Auto merge of #16124 - ohno418:call-expr-missing-arg, r=Veykril
...
fix: Recover from missing argument in call expressions
Previously, when parsing an argument list with a missing argument (e.g., `(a, , b)` in `foo(a, , b)`), the parser would stop upon an unexpected token (at the second comma in the example), resulting in an incorrect parse tree.
This commit improves error handling in such cases, ensuring a more accurate parse tree is built.
---
Fixes https://github.com/rust-lang/rust-analyzer/issues/15683 .
2024-02-08 10:16:36 +00:00
Lukas Wirth
974e69b0c5
Recover from missing slots in delimited parsing
2024-02-08 11:14:37 +01:00
Yutaro Ohno
e865d45904
fix: Recover from missing argument in call expressions
...
Previously, when parsing an argument list with a missing argument (e.g.,
`(a, , b)` in `foo(a, , b)`), the parser would stop upon an unexpected
token (at the second comma in the example), resulting in an incorrect
parse tree.
This commit improves error handling in such cases, ensuring a more
accurate parse tree is built.
2024-02-08 10:54:04 +01:00
Lukas Wirth
0258f60cfe
feat: Allow cargo check to run on only the current package
2024-02-08 10:40:42 +01:00
Lukas Wirth
81ea48a573
fix: Fix tuple structs not rendering visibility in their fields
2024-02-08 10:05:28 +01:00
clubby789
79e4111442
Remove ffi_returns_twice
references
2024-02-07 19:42:07 +00:00
Lukas Wirth
97cd68097a
Optimize input queries that take no arguments
2024-02-07 18:04:02 +01:00
Lukas Wirth
3688064ff5
Clippy
2024-02-07 17:08:38 +01:00
Lukas Wirth
731b159f10
Remove dev-dependency diff
2024-02-07 16:34:21 +01:00
Lukas Wirth
e339c65a1a
Remove dev-dependency insta
2024-02-07 16:30:20 +01:00
Lukas Wirth
def5a1d0c4
unreachable-pub
2024-02-07 16:30:13 +01:00
Lukas Wirth
bc5823d5bb
Bump salsa dev-deps
2024-02-07 16:30:07 +01:00
Lukas Wirth
0a6197df97
rustfmt
2024-02-07 16:30:00 +01:00
Lukas Wirth
159a03ad7b
Move salsa fork in-tree
2024-02-07 16:29:46 +01:00
Soham Chowdhury
57a454233c
inline_call: ensure correct whitespace in parameter types
2024-02-06 20:24:16 +01:00
davidsemakula
d7a03022f7
handle divergence in child if expr for unnecessary else diagnostic fix
2024-02-06 19:00:10 +03:00
davidsemakula
62cc4f9c46
add unnecessary else diagnostic
2024-02-06 19:00:10 +03:00
Laurențiu Nicola
2c4152847a
Add lete to postfix completion list
2024-02-06 13:13:51 +02:00
bors
6671d3c9a3
Auto merge of #16499 - Nadrieril:update-pat-ana, r=lnicola
...
internal: Update rustc_pattern_analysis dependency
Just bumping the dependency, as I've been making API changes over on the rustc side. More API changes incoming in the coming weeks.
One benefit of this: we no longer abort in the `DeconstructedPat: Debug` impl, which means we can use `tracing` to investigate issues.
2024-02-06 07:04:33 +00:00
Nadrieril
d2d4119d24
Don't need an arena for types anymore
2024-02-06 05:09:30 +01:00
Nadrieril
ba7b12e062
Update rustc_pattern_analysis dependency
2024-02-06 05:08:19 +01:00
Nadrieril
c2d21242aa
Tweak variant_id_for_adt
2024-02-06 05:01:05 +01:00
Matthias Krüger
ac9d1a03a7
remove clones
2024-02-05 23:15:47 +01:00
bors
66cec4d11a
Auto merge of #16470 - Veykril:clippy-disallow, r=lnicola
...
internal: Lint debug prints and disallowed types with clippy
2024-02-05 17:20:43 +00:00
dfireBird
53db37f9bf
restrict cursor range to show assists
2024-02-05 18:53:40 +05:30
bors
cb37fcc616
Auto merge of #16493 - Young-Flash:method_call_parser, r=Veykril
...
fix: emit parser error for missing argument list
close https://github.com/rust-lang/rust-analyzer/issues/16362
2024-02-05 13:03:03 +00:00
Young-Flash
864c3d5880
test: add method_call_missing_argument_list error test
2024-02-05 17:54:09 +08:00
Young-Flash
c495e3f00f
fix: emit parser error for missing argument list
2024-02-05 17:54:09 +08:00
bors
7fb639ffc1
Auto merge of #16482 - GnomedDev:boxed-subtree, r=lnicola
...
Swap Subtree::token_trees from Vec to boxed slice
Performs one of the optimizations suggested in #16325 , but a little bit more. Boxed slices guarantee `shrink_to_fit` aswell as saving a pointer width as no capacity has to be stored.
Most of the diff is:
- Changing `vec![]` to `Box::new([])`
- Changing initialize -> fill into fill -> into_boxed_slice
- Working around the lack of an owned iterator or automatic iteration over a `Box<[T]>`
I would like to use my own crate, [small-fixed-array](https://lib.rs/small-fixed-array ), although I understand if it isn't mature enough for this. If I'm given the go ahead, I can rework this PR to use it instead.
2024-02-05 09:14:06 +00:00
bors
3e47532dd4
Auto merge of #16474 - davidbarsky:david/import-on-the-fly-improvements, r=lnicola
...
internal: even more `tracing`
As part of profiling completions, I added some additional spans and moved `TyBuilder::subst_for_def` closer to its usage site (the latter had a small impact on completion performance. Thanks for the tip, Lukas!)
2024-02-05 09:01:58 +00:00
bors
081cf026b8
Auto merge of #16480 - GnomedDev:remove-unused-visit_ids, r=lnicola
...
Remove unused Subtree::visit_ids function
Completely unused, nothing else even shows up when searching for `visit_ids`.
2024-02-05 08:49:39 +00:00
Shoyu Vanilla
26715a8fde
cargo fmt
2024-02-05 10:48:34 +09:00
Shoyu Vanilla
983cce8c31
Typo fix
2024-02-05 10:37:58 +09:00
Shoyu Vanilla
f0428e57ea
Simplify redundant coercion
2024-02-05 10:35:12 +09:00
davidsemakula
b45ee82811
incorrect case diagnostics for param names of trait impl assoc functions
2024-02-05 01:31:28 +03:00
GnomedDev
a607e1b04b
Use reserve_exact for pushing to Subtree
2024-02-04 22:17:20 +00:00
davidsemakula
33b3b6dbf9
refactor: disable "unused" lint using parameter name
2024-02-05 01:07:44 +03:00
Shoyu Vanilla
97ecfe4fab
Remove unnecessary .as_ref()
in generate getter assist
2024-02-05 00:44:57 +09:00
Laurențiu Nicola
38b5c8c966
Try to fix in-tree build
2024-02-04 11:07:35 +02:00
Laurențiu Nicola
b8a3180a60
Merge commit '0113bc9388b480fa42c632f57f4f0f7af5813ec1' into sync-from-ra
2024-02-04 10:37:58 +02:00
GnomedDev
8011b56827
Swap Subtree::token_trees from Vec to boxed slice
2024-02-04 00:28:22 +00:00
GnomedDev
1451270372
Remove unused Subtree::visit_ids function
2024-02-03 17:22:45 +00:00
davidsemakula
d761d86f03
refactor hir-ty::diagnostics::decl_check
for enum variants
2024-02-03 17:36:11 +03:00
davidsemakula
8e29104178
refactor hir-ty::diagnostics::decl_check
for struct fields
2024-02-03 17:33:25 +03:00
davidsemakula
23aa872f3c
refactor hir-ty::diagnostics::decl_check
for function bodies
2024-02-03 16:40:55 +03:00
davidsemakula
c0071ace5a
refactor hir-ty::diagnostics::decl_check
2024-02-03 15:51:14 +03:00
davidsemakula
46d79e21b5
add allow and deny attribute tests for incorrect case diagnostics for traits
2024-02-02 17:07:08 +03:00
davidsemakula
080d223dd4
incorrect case diagnostics for type aliases
2024-02-02 17:07:08 +03:00
davidsemakula
0ffc088439
no incorrect case diagnostics for trait impl assoc functions and consts except for pats in fn bodies
2024-02-02 17:07:08 +03:00
davidsemakula
6d2d6323ac
incorrect case diagnostics for trait assoc functions and consts
2024-02-02 17:07:08 +03:00
davidsemakula
5fe3b75677
incorrect case diagnostics for trait name
2024-02-02 17:07:08 +03:00
bors
8f6a72871e
Auto merge of #16469 - Young-Flash:ci_typos, r=lnicola
...
internal: add typos check CI (part 2)
follow up https://github.com/rust-lang/rust-analyzer/pull/16448
2024-02-02 12:02:48 +00:00
Young-Flash
ba2910a3a7
minor: correct some typos
2024-02-02 18:22:54 +08:00
Laurențiu Nicola
4f09335063
Merge remote-tracking branch 'upstream/master' into sync-from-rust
2024-02-02 08:40:28 +02:00
David Barsky
f9bef39d48
internal: add some more tracing
spans inside of hir-ty
2024-02-01 16:10:32 -05:00
David Barsky
0fd770613b
internal: Move TyBuilder::subst_for_def
into a block
2024-02-01 16:06:05 -05:00
Lukas Wirth
9e8a0fae0c
Lint debug prints and disallowed types with clippy
2024-02-01 17:57:27 +01:00
bors
850ba2fb63
Auto merge of #16451 - Urhengulas:satisfy-clippy, r=Veykril
...
internal: Work through temporarily allowed clippy lints, part 2
Another follow-up to https://github.com/rust-lang/rust-analyzer/pull/16401 .
2024-02-01 14:23:18 +00:00
bors
42cb1a2bd7
Auto merge of #16465 - Veykril:eprintln, r=Veykril
...
minor: Remove `stdx::eprintln` overwrite
2024-01-31 21:07:50 +00:00
Lukas Wirth
23f4b7f45f
Remove stdx::eprintln overwrite
2024-01-31 22:06:05 +01:00
clubby789
a1fdb876c3
Remove abi_amdgpu_kernel
references
2024-01-31 19:06:10 +00:00
bors
039681112f
Auto merge of #16456 - davidbarsky:david/tracing-followups, r=Veykril
...
internal: `tracing` improvements and followups
Hi folks! Building on https://github.com/rust-lang/rust-analyzer/pull/16394 , I've got a few small tweaks:
- Removed the accidental `mod.rs` usage that I introduced.
- Removed a panic in `pat_analysis.rs`.
- Recorded the event kind in `handle_event` to better distinguish what _kind_ of event is being handled.
- Did a small refactor of `hprof` to have somewhat more linear control flow, and more importantly, write the recorded fields to the output.
The end result is the following:
<img width="1530" alt="A screenshot of Visual Studio Code on a Mac. `hprof.rs` is open, with " src="https://github.com/rust-lang/rust-analyzer/assets/2067774/bd11dde5-b2da-4774-bc38-bcb4772d1192 ">
2024-01-31 18:29:51 +00:00
David Barsky
44494e235a
internal: teach hprof to record tracing
fields
2024-01-31 13:15:47 -05:00
Johann Hemmann
df2c7a6e4e
cargo clippy --fix
2024-01-31 19:06:36 +01:00
Johann Hemmann
771c6c9271
format_collect
2024-01-31 19:06:36 +01:00
Johann Hemmann
d37f4e0d21
new_without_default
2024-01-31 19:06:36 +01:00
Johann Hemmann
e7e09e7750
large_enum_variant
2024-01-31 19:06:35 +01:00
Johann Hemmann
04ccef80cb
field_reassign_with_default
2024-01-31 19:06:18 +01:00
Johann Hemmann
dd9f27b8d3
borrow_deref_ref
2024-01-31 19:06:18 +01:00
Johann Hemmann
c4688343de
derivable_impls
2024-01-31 19:06:18 +01:00
Johann Hemmann
0adb4d1685
wildcard_in_or_patterns
2024-01-31 19:06:18 +01:00
Johann Hemmann
b176cf2478
useless_format
2024-01-31 19:06:18 +01:00
Johann Hemmann
b73ee2f50d
useless_conversion
2024-01-31 19:06:18 +01:00
Johann Hemmann
e7d0deac53
unnecessary_mut_passed
2024-01-31 19:06:18 +01:00
Johann Hemmann
f191b80799
Refactor
2024-01-31 19:06:18 +01:00
Johann Hemmann
c4302eaa56
unnecessary_lazy_evaluations
2024-01-31 19:06:18 +01:00
Johann Hemmann
f15ee8a380
unnecessary_filter_map
2024-01-31 19:06:18 +01:00
Johann Hemmann
de6f9561f2
unnecessary_cast
2024-01-31 19:06:18 +01:00
Johann Hemmann
daa20725c5
toplevel_ref_arg
2024-01-31 19:06:18 +01:00
Johann Hemmann
386d438e17
skip_while_next
2024-01-31 19:06:18 +01:00
David Barsky
579e98c4c5
internal: record Event kind in handle_event
2024-01-31 13:00:40 -05:00
David Barsky
251b14f2c5
internal: don't panic in debug_pat
2024-01-31 13:00:30 -05:00
bors
355c9444e1
Auto merge of #16448 - Young-Flash:typos, r=lnicola
...
minor: correct typos
I use [crate-ci/typos](https://github.com/crate-ci/typos ) to check typos in codebase, if it's ok with you, I'd like to add a typo check CI using [typos](https://github.com/crate-ci/typos ) (with Apache-2.0, MIT licenses).
BTW, we can add a [_typos.toml](https://github.com/crate-ci/typos/blob/master/docs/reference.md ) as white list for some intentional typos
2024-01-31 13:29:55 +00:00
Young-Flash
62ff8f33d4
minor: correct close
to closure
2024-01-31 21:26:30 +08:00
bors
9d837a622d
Auto merge of #16445 - lnicola:bump-scip, r=lnicola
...
internal: Bump scip
Fixes #16440
2024-01-31 09:27:01 +00:00
bors
2661c272c9
Auto merge of #16461 - Veykril:expansion-info, r=Veykril
...
internal: Remove unnecessary usages of ExpansionInfo
And some follow up simplifications to https://github.com/rust-lang/rust-analyzer/pull/16439
2024-01-31 08:58:55 +00:00
Lukas Wirth
d252247ab7
internal: Remove unnecessary usages of ExpansionInfo
2024-01-31 09:57:17 +01:00
bors
e48bc04eaf
Auto merge of #16459 - Veykril:diagnostics, r=Veykril
...
internal: Use improved adjusted_display_range for all diagnostics
2024-01-31 08:17:53 +00:00
Lukas Wirth
604479c373
internal: Use improved adjusted_display_range for all diagnostics
2024-01-31 09:16:30 +01:00
bors
e4146af294
Auto merge of #16441 - Young-Flash:exclude_tests_refs, r=Veykril
...
feat: enable excluding refs search results in test
## Change
Here I introduce a new `ReferenceCategory::Test` type to indicate whether the function where this reference is located is marked as `#[test]`, and expose an config item (`rust-analyzer.references.excludeTests`) to client.
I also changed the signature of `ReferenceCategory::new`, adding a `sema: &Semantics<'_, RootDatabase>` param to do some hir analysis. Hope the current implementation is good to go.
## Demo
`"rust-analyzer.references.excludeTests": false`
![include](https://github.com/rust-lang/rust-analyzer/assets/71162630/9f1176d4-7b41-4f49-ac79-55d25a42d5d1 )
`"rust-analyzer.references.excludeTests": true`
![exclude](https://github.com/rust-lang/rust-analyzer/assets/71162630/2938b44b-9e5b-48de-a049-453f5bbc09d0 )
close https://github.com/rust-lang/rust-analyzer/issues/14530
2024-01-31 07:53:28 +00:00
David Barsky
17d2e8d910
internal: remove tracing/mod.rs
2024-01-30 13:37:27 -05:00
David Barsky
e1ea7c8844
internal: switch to tracing
from log
...
This commit also adds `tracing` to NotificationDispatcher/RequestDispatcher,
bumps `rust-analyzer-salsa` to 0.17.0-pre.6, `always-assert` to 0.2, and
removes the homegrown `hprof` implementation in favor of a vendored
tracing-span-tree.
2024-01-30 12:27:31 -05:00
bors
63123ab408
Auto merge of #16417 - davidsemakula:normalize-use-trees, r=Veykril
...
feat: "Normalize import" assist and utilities for normalizing use trees
- Add import/use tree normalization utilities
- Add "normalize import" assist
- Update "merge imports" assist to always apply to the covering use item except for nested use tree selections
- Update "merge imports" assist to avoid adding unnecessary braces when merging nested use tree selections
See [this discussion](https://github.com/rust-lang/rust-analyzer/pull/16372#discussion_r1457244321 ) for the motivation for the new "normalize import" assist and changes to the "merge imports" assist.
2024-01-30 14:55:08 +00:00
Johann Hemmann
43b1ae0446
cargo clippy --fix
2024-01-30 14:50:21 +01:00
Johann Hemmann
75a42f1a09
collapsible_if
2024-01-30 14:44:44 +01:00
Young-Flash
db9fd370ee
minor: correct typos
2024-01-30 21:43:43 +08:00
davidsemakula
dba3fc4425
style: remove unnecessary macro
2024-01-30 16:15:15 +03:00
bors
11b401d0b4
Auto merge of #16447 - Veykril:mir-errors, r=Veykril
...
intenral: Cleanup error variants in MIR code a bit
2024-01-30 11:38:41 +00:00
bors
22b6f9679d
Auto merge of #16439 - wasd96040501:feat/gotodef3, r=Veykril
...
feat: Support for GOTO def from *inside* files included with include! macro
close #14937
Try to implement goto def from *inside* files included with include! macro.
This implementation has two limitations:
1. Only **one** file which calls include! will be tracked. (I think multiple file be included is a rare case and we may let it go for now)
2. Mapping token from included file to macro call file (semantics.rs:646~658) works fine but I am not sure is this the correct way to implement.
2024-01-30 11:27:18 +00:00
Lukas Wirth
5860763f18
Cleanup error variants in MIR code slightly
2024-01-30 09:53:39 +01:00
Laurențiu Nicola
20c01672a8
Bump scip
2024-01-30 08:43:17 +02:00
Young-Flash
2b71acac4f
test: add full path ref exclude test case
2024-01-29 18:47:58 +08:00
Young-Flash
6181102567
fix: use Semantics to judge whether a func is marked as #[test]
2024-01-29 18:42:41 +08:00
Laurențiu Nicola
f43cea0878
Merge commit '7219414e81810fd4d967136c4a0650523892c157' into sync-from-ra
2024-01-28 15:56:54 +02:00
Young-Flash
1bd21e98c0
test: add test for excluding refs
2024-01-28 18:39:42 +08:00
Young-Flash
6f303f49fe
feat: enable excluding refs search results in test
2024-01-28 18:28:13 +08:00
davidsemakula
84e13145ff
add more tests for normalize import assist
2024-01-28 11:55:01 +03:00
davidsemakula
fc00602723
merge imports assist avoids adding unnecessary braces when merging nested use tree selections
2024-01-28 11:55:01 +03:00
davidsemakula
b241593f36
merge imports assist always applies to covering use item except for nested use tree selections
2024-01-28 11:55:01 +03:00
davidsemakula
a8a18f3ccf
add normalize import assist
2024-01-28 11:55:01 +03:00
davidsemakula
81d713ea9f
remove ordered insert logic from recursive merge function
2024-01-28 11:55:01 +03:00
davidsemakula
8fab92feb2
normalize use trees when merging imports
2024-01-28 11:55:01 +03:00
YangzeLuo
b22e772cab
feat: Support for GOTO def from *inside* files included with include! macro
2024-01-27 23:36:01 +08:00
Alain Siegrist
7ec32d091a
Remove letelse control flow snippets
2024-01-27 14:35:22 +01:00
Alain Siegrist
51d57b9bb6
Make return a snippet
2024-01-27 14:35:22 +01:00
Alain Siegrist
57934ac47a
Add postfix completion for let else
2024-01-27 14:35:22 +01:00
davidsemakula
da798bccf7
make ast::UseTree::wrap_in_tree_list
more robust
2024-01-27 14:22:16 +03:00
bors
7219414e81
Auto merge of #16427 - Young-Flash:fix_no_such_field_diagnostics, r=Veykril
...
fix: filter out cfg disabled filed when lowering `RecordPat`
we should filter out field with disabled cfg when lowering ast `RecordPat` to hir.
close https://github.com/rust-lang/rust-analyzer/issues/16169
2024-01-27 10:52:36 +00:00
bors
27c3ed9de8
Auto merge of #16434 - Veykril:things, r=Veykril
...
internal: Restructure and cleanup hir-expand a bit
2024-01-27 10:16:35 +00:00
Lukas Wirth
8a5829cf28
Re-order mod declarations
2024-01-27 11:02:34 +01:00
Kirill Bulatov
ad5e2cfa3b
Do not return code lens data after resolving
2024-01-27 02:03:15 +02:00
Lukas Wirth
6cf7b5f8d7
Don't parse intra doc links as syntax trees
2024-01-26 20:00:47 +01:00
bors
596e5c77cf
Auto merge of #16431 - Ar4ys:fix-E0107-error-range-in-proc-macro, r=Veykril
...
Replaced adjusted_display_range with adjusted_display_range_new in mismatched_arg_count
For detailed description - see related issue.
Fixes : #16407
2024-01-26 18:53:03 +00:00
Lukas Wirth
5a343415e8
Add some size assertions
2024-01-26 19:28:39 +01:00
Lukas Wirth
d8ef6c24cc
Cleanup convert_path
2024-01-26 19:28:39 +01:00
Lukas Wirth
880baa9e56
Shuffle hir-expand things around
2024-01-26 19:28:39 +01:00
Lukas Wirth
e320004dad
Remove tt -> ast -> tt round trips in attrs lowering
2024-01-26 19:28:39 +01:00
bors
f09020567e
Auto merge of #16415 - Waqar144:work/make-try-to-nav-pub, r=Veykril
...
internal: Make TryToNav trait public
Currently there is no proper way to get a target FileRange for a given Definition.
2024-01-26 07:48:37 +00:00
Ar4ys
8f05e7ce55
Replaced adjusted_display_range with it's new version in mismatched_arg_count
2024-01-25 20:15:46 +01:00
Young-Flash
1374bc8c93
test: ensure no_such_field
diagnostic don't work for field with disabled cfg
2024-01-25 19:30:04 +08:00
Young-Flash
4505f03fbf
fix: filter out cfg disabled filed when lowering RecordPat
2024-01-25 19:27:37 +08:00
Laurențiu Nicola
b1b6e0c41a
Reapply "Detect NulInCStr
error earlier."
...
This reverts commit 0ea056552a
.
2024-01-25 06:40:07 +02:00
Nicholas Nethercote
858f4aca6c
Rename the unescaping functions.
...
`unescape_literal` becomes `unescape_unicode`, and `unescape_c_string`
becomes `unescape_mixed`. Because rfc3349 will mean that C string
literals will no longer be the only mixed utf8 literals.
2024-01-25 12:28:11 +11:00
Nicholas Nethercote
56514076ac
Rework CStrUnit
.
...
- Rename it as `MixedUnit`, because it will soon be used in more than
just C string literals.
- Change the `Byte` variant to `HighByte` and use it only for
`\x80`..`\xff` cases. This fixes the old inexactness where ASCII chars
could be encoded with either `Byte` or `Char`.
- Add useful comments.
- Remove `is_ascii`, in favour of `u8::is_ascii`.
2024-01-25 12:28:11 +11:00
Nicholas Nethercote
85d56eeb63
Fix copy/paste error.
...
The `CString` handling code is erroneously identical to the `ByteString`
handling code.
2024-01-25 12:26:25 +11:00
dfireBird
e0446a0eb5
implement assist for let stmt with TryEnum type to guarded return
2024-01-25 00:13:16 +05:30
Nadrieril
2370b70f25
Replace local copy of exhaustiveness checking with upstream librarified version
2024-01-23 15:54:00 +01:00
Waqar Ahmed
231f730e87
internal: Make TryToNav trait public
...
Currently there is no proper way to get a target FileRange for a given
Definition.
2024-01-22 15:20:58 +05:00
Laurențiu Nicola
56077149df
Format code
2024-01-21 21:16:53 +02:00
Laurențiu Nicola
0ea056552a
Revert "Detect NulInCStr
error earlier."
...
This reverts commit 6001c50cac
.
2024-01-21 21:10:05 +02:00
Laurențiu Nicola
ef6e6dfb1a
Merge remote-tracking branch 'upstream/master' into sync-from-rust
2024-01-21 21:08:04 +02:00
Laurențiu Nicola
e4866b6ddb
Merge commit 'a9116523604c998e7781f60d3b5a6f586e0414a9' into sync-from-ra
2024-01-21 16:53:06 +02:00
Nadrieril
0661390ad4
Rollup merge of #120084 - weihanglo:pkgid-spec, r=Mark-Simulacrum
...
fix(rust-analyzer): use new pkgid spec to compare
Starting from rust-lang/cargo#13311 , Cargo's compiler artifact message
uses Package ID specification as package's identifier format.
Zulip topic: https://rust-lang.zulipchat.com/#narrow/stream/246057-t-cargo/topic/proc-macro-test.20bootstrap.20and.20pkgid.20JSON
cc `@ehuss`
2024-01-21 06:38:38 +01:00
r0cky
1a9ef233b7
Remove unused codes
2024-01-21 12:56:23 +08:00
bors
d4926c10b2
Auto merge of #16405 - dfireBird:guarded-return-for-loop, r=lnicola
...
fix: Include `for` construct in convert to guarded return conditions
2024-01-20 16:13:31 +00:00
dfireBird
721e79035d
include for
in convert to guarded return assist
2024-01-20 19:26:50 +05:30
bors
0c764216d5
Auto merge of #16396 - Young-Flash:fix_marco, r=Veykril
...
fix panic with reference in macro
it panic at `builder.make_mut(segment)`, where segment is from macro expand. And the usage reference in orginal macro call isn't a `PathSegment` so we can't update it in `apply_references`, I can't find a way to deal with it properly so here just filter out the reference in macro. LMK if there are better way to fix this
try to close https://github.com/rust-lang/rust-analyzer/issues/16328
2024-01-20 08:12:44 +00:00
Young-Flash
f9b5e0d219
minor: use reference.range
to get original range
2024-01-20 14:43:42 +08:00
Johann Hemmann
9e837790d1
redundant_locals
2024-01-19 18:36:32 +01:00
Johann Hemmann
b1a0c9ac40
single_match
2024-01-19 18:31:15 +01:00
Johann Hemmann
9dd07f0bc4
should_implement_trait
2024-01-19 17:53:09 +01:00
Johann Hemmann
159b4c9fe9
search_is_some
2024-01-19 17:52:55 +01:00
Johann Hemmann
71d4dba960
redundant_pattern_matching
2024-01-19 17:31:01 +01:00
Johann Hemmann
5a62a0db46
redundant_closure
2024-01-19 17:31:01 +01:00
Johann Hemmann
3cf1358eb8
question_mark
2024-01-19 17:31:01 +01:00