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
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
Johann Hemmann
6738edc259
ptr_arg
2024-01-19 17:31:01 +01:00
Johann Hemmann
9527e245c9
redundant_locals
2024-01-19 17:31:01 +01:00
Johann Hemmann
692212bbdd
partialeq_to_none
2024-01-19 17:31:01 +01:00
Johann Hemmann
7e8568b293
option_map_unit_fn
2024-01-19 17:31:01 +01:00
Johann Hemmann
4858a3784d
op_ref
2024-01-19 17:31:01 +01:00
Johann Hemmann
0df30499d0
only_used_in_recursion
2024-01-19 17:31:01 +01:00
Johann Hemmann
bef355168a
non_minimal_cfg
2024-01-19 17:31:01 +01:00
Johann Hemmann
e6f9f4c0e4
nonminimal_bool
2024-01-19 17:31:01 +01:00
Johann Hemmann
e58b683201
needless_return
2024-01-19 17:31:01 +01:00
Johann Hemmann
a342e936e3
needless_lifetimes
2024-01-19 17:31:01 +01:00
Johann Hemmann
3839f9a9a2
needless_borrow
2024-01-19 17:31:01 +01:00
Johann Hemmann
d351cb8dfb
match_single_binding
2024-01-19 17:31:01 +01:00
Johann Hemmann
add40c8660
match_like_matches_macro
2024-01-19 17:31:01 +01:00
Johann Hemmann
2ae2512378
if_same_then_else
2024-01-19 17:31:01 +01:00
Johann Hemmann
c27b6b5308
filter_map_bool_then
2024-01-19 17:31:01 +01:00
Johann Hemmann
575398134e
explicit_auto_deref
2024-01-19 17:31:01 +01:00
Johann Hemmann
84494d1c8e
from_str_radix_10
2024-01-19 17:31:01 +01:00
Johann Hemmann
8982ff3bba
get_first
2024-01-19 17:31:01 +01:00
Johann Hemmann
eb7aec5a8e
map_clone
2024-01-19 17:31:01 +01:00
Johann Hemmann
6709eaba2a
never_loop
2024-01-19 17:31:01 +01:00
Johann Hemmann
9e4f94c938
no_effect
2024-01-19 17:31:01 +01:00
Johann Hemmann
c629ec7611
clone_on_copy
2024-01-19 17:31:01 +01:00
Johann Hemmann
6a2a603a8c
let_and_return
2024-01-19 17:31:00 +01:00
Johann Hemmann
d8ad4afce8
manual_map
2024-01-19 17:31:00 +01:00
Johann Hemmann
60dda08266
manual_find
2024-01-19 17:31:00 +01:00
Johann Hemmann
2a500d5280
for_kv_map
2024-01-19 17:31:00 +01:00
Johann Hemmann
882289b229
double_parens
2024-01-19 17:31:00 +01:00
Johann Hemmann
4184c6af0d
collapsible_match
2024-01-19 17:31:00 +01:00
Johann Hemmann
657376858f
iter_kv_map
2024-01-19 17:31:00 +01:00
Johann Hemmann
b5eca5f2fc
collapsible_if
2024-01-19 17:31:00 +01:00
Johann Hemmann
3409645c3f
bind_instead_of_map
2024-01-19 17:31:00 +01:00
bors
2a239b9833
Auto merge of #16401 - Urhengulas:lint-table, r=Veykril
...
Expand lint tables && make clippy happy 🎉
This PR expands the lint tables on `./Cargo.toml` and thereby makes `cargo clippy` exit successfully! 🎉
Fixes #15918
## How?
In the beginning there are some warnings for rustc.
Next, and most importantly, there is the clippy lint table. There are a few sections in there.
First there are the lint groups.
Second there are all lints which are permanently allowed with the reasoning why they are allowed.
Third there is a huge list of temporarily allowed lints. They should be removed in the mid-term, but incur a substantial amount of work, therefore they are allowed for now and can be worked on bit by bit.
Fourth there are all lints which should warn.
Additionally there are a few allow statements in the code for lints which should be permanently allowed in this specific place, but not in the whole code base.
## Follow up work
- [ ] Run clippy in CI
- [ ] Remove tidy test (at least `@Veykril` wrote this in #15017 )
- [ ] Work on temporarily allowed lints
2024-01-19 16:09:02 +00:00
bors
04edfa1e5a
Auto merge of #16388 - Veykril:fn-abi, r=Veykril
...
internal: Record FnAbi
This unfortunately breaks our lub coercions, so will need to look into fixing that first, though I am not sure what is going wrong where...
Stubbed some stuff out for the time being.
2024-01-19 14:37:58 +00:00
bors
03d4a6dd9a
Auto merge of #16400 - alibektas:15656/update_bail_message_ref_config, r=Veykril
...
Update bail message referencing config
Even though we changed the name of the config I forgot to update the warning message that referenced it.
2024-01-19 14:19:11 +00:00
Lukas Wirth
46e38318a2
Stub out FnAbi::partial_eq as a workaround for now
2024-01-19 15:15:23 +01:00
Lukas Wirth
3a722bdf2e
feat:Record FnAbi
2024-01-19 15:15:23 +01:00
Ali Bektas
0347f81244
Update tests
2024-01-19 15:01:46 +01:00
Ali Bektas
0becb6c819
Update crates/ide-db/src/rename.rs
...
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2024-01-19 14:33:40 +01:00
Johann Hemmann
3041164301
Temporarily allow all lints which occur
...
They will be removed one by one
2024-01-19 12:52:12 +01:00
bors
85c9a83262
Auto merge of #16398 - Urhengulas:satisfy-clippy, r=Veykril
...
`cargo clippy --fix`
This PR is the result of running `cargo clippy --fix && cargo fmt` in the root of the repository. I did not manually review all the changes, but just skimmed through a few of them. The tests still pass, so it seems fine.
2024-01-19 09:43:35 +00:00
Ali Bektas
431040fe59
Update bail message referencing config
...
Even though we changed the name of the config I forgot
to update the warning message that referenced it.
2024-01-18 22:29:36 +01:00
bors
3f4c6dac3d
Auto merge of #16372 - davidsemakula:import-granularity-one, r=Veykril
...
feat: Add "One" import granularity
Adds a new import granularity option "One" that merges all imports into a single use statement as long as they have the same visibility and attributes.
This is similar to [rustfmt's `imports_granularity = "One"`](https://rust-lang.github.io/rustfmt/?version=v1.6.0&search=import#imports_granularity ).
Fixes : #11361
2024-01-18 15:40:12 +00:00
davidsemakula
67c1c2bd14
update merge item assist implementation for "one" import granularity
2024-01-18 17:26:53 +03:00
bors
48af3ef66d
Auto merge of #16397 - Urhengulas:refactor-parser, r=Veykril
...
Refactor `macro_call` to be consistent with other functions
https://github.com/rust-lang/rust-analyzer/pull/16314#discussion_r1457324734
2024-01-18 14:11:58 +00:00
bors
6d3141679d
Auto merge of #16385 - Urhengulas:fix-tra-doc-links, r=Veykril
...
Fix intra doc links
Fixes #15848
2024-01-18 14:00:35 +00:00
bors
a5b89fffb6
Auto merge of #16391 - alibektas:15656/renaming_allowed_by_config, r=Veykril
...
Add a new config to allow renaming of non-local defs
With #15656 we started disallowing renaming of non-local items. Although this makes sense there are some false positives that impacted users' workflows. So this config aims to mitigate this by giving users the liberty to disable this feature.
The reason why this is a draft is that I saw one of the tests fail and I am not sure if the "got" result even syntactically makes sense
Test case is :
```rust
check(
"Baz",
r#"
//- /lib.rs crate:lib new_source_root:library
pub struct S;
//- /main.rs crate:main deps:lib new_source_root:local
use lib::S$0;
"#,
"use lib::Baz;"
);
```
```
Left:
use lib::Baz;
Right:
use lib::Baz;Baz
Diff:
use lib::Baz;Baz
```
2024-01-18 13:49:14 +00:00
Johann Hemmann
255cde788b
Fix CI 3
2024-01-18 14:22:20 +01:00