bors
add85397ae
Auto merge of #13604 - Veykril:hover-attr, r=Veykril
...
fix: Fix hover in attributed items not preferring similar kinded tokens
2022-11-11 12:48:48 +00:00
Lukas Wirth
e50712cf2c
fix: Fix hover in attributed items not preferring similar kinded tokens
2022-11-11 13:38:07 +01:00
bors
57cc2a6e27
Auto merge of #13602 - lowr:fix/nameres-transitive-visibility, r=Veykril
...
fix: check visibility of each path segment
Upon path resolution, we have not been checking if every def pointed to by each segment of the path is visible from the original module. This leads to incorrect import resolutions, in particular when one uses glob imports and names collide.
There is decent amount of changes in this PR because:
- some of our tests were not correct in terms of visibility
- I left several basic nameres tests as-is (with expect test updated) since I thought it would be nice to ensure we don't resolve defs that are not visible.
- `fix_visibility` assist relied on `Semantics::resolve_path()`, which uses the name resolution procedure I'm fixing and wouldn't be able to "see through" the items with strict visibility with this patch
The first commit is the gist of the fix itself.
Fixes #10991
Fixes #11473
Fixes #13252
2022-11-11 12:32:21 +00:00
bors
6f313cef8e
Auto merge of #13548 - lowr:fix/tt-punct-spacing, r=Veykril
...
Fix `tt::Punct`'s spacing calculation
Fixes #13499
We currently set a `tt::Punct`'s spacing to `Spacing::Joint` unless its next token is a trivia (i.e. whitespaces or comment). As I understand it, rustc only [sets `Spacing::Joint` if the next token is an operator](https://github.com/rust-lang/rust/blob/5b3e9090757da9a95b22f589fe39b6a4b5455b96/compiler/rustc_parse/src/lexer/tokentrees.rs#L77-L78 ) and we should follow it to guarantee the consistent behavior of proc macros.
2022-11-11 12:19:30 +00:00
bors
ff78d24e21
Auto merge of #13603 - Veykril:no-workspaces, r=Veykril
...
fix: Send status notification if there are no found workspaces
Closes https://github.com/rust-lang/rust-analyzer/issues/5829
2022-11-11 12:01:52 +00:00
Lukas Wirth
e35836eb81
Send status notification if there are no found workspaces
2022-11-11 13:00:22 +01:00
Ryo Yoshida
19306c070d
Fix tests that depended on loose visibility restriction
2022-11-11 20:31:46 +09:00
Ryo Yoshida
e75afebeb2
Resolve invisible defs in fix_visibility assist
2022-11-11 20:31:44 +09:00
Ryo Yoshida
dea49d0826
fix: check visibility of each segment in path resolution
2022-11-11 20:31:37 +09:00
Ryo Yoshida
5b07061011
Test TokenTrees' equality modulo Puncts' spacing
2022-11-10 19:40:40 +09:00
Ryo Yoshida
4f415fc348
Ignore outermost non-delimited Subtree when reversing fixups
2022-11-10 19:22:20 +09:00
bors
599142c34a
Auto merge of #13590 - Veykril:proc-macro-rustc-src, r=Veykril
...
internal: Add proc-macro dependency to rustc_private crates
2022-11-09 19:51:20 +00:00
Lukas Wirth
3c35d44f55
Add proc-macro dependency to rustc_private crates
2022-11-09 20:50:18 +01:00
bors
392784ad17
Auto merge of #13584 - jonas-schievink:fix-signature-panic, r=jonas-schievink
...
fix: fix panic when computing signature of generic `FnOnce` callable
Fixes https://github.com/rust-lang/rust-analyzer/issues/13579
2022-11-08 17:27:13 +00:00
Jonas Schievink
9be0615bde
Don't canonicalize self type when querying FnOnce signature
2022-11-08 18:05:07 +01:00
bors
977a029c1e
Auto merge of #13582 - lnicola:nest-cargo-toml, r=lnicola
...
feat: Nest Cargo.lock under Cargo.toml in Code
Closes #13580
2022-11-08 08:44:43 +00:00
Laurențiu Nicola
4403dde711
Nest Cargo.lock under Cargo.toml in Code
2022-11-08 09:57:05 +02:00
bors
236c1167cc
Auto merge of #13581 - Veykril:unit-struct-compl, r=Veykril
...
fix: Fix item completions not working properly after unit structs and outline modules
Fixes https://github.com/rust-lang/rust-analyzer/issues/13578
2022-11-08 07:38:13 +00:00
Lukas Wirth
90e2db8126
fix: Fix item completions not working properly after unit structs and outline modules
2022-11-08 08:37:45 +01:00
bors
b8b1951ee8
Auto merge of #13573 - Veykril:invalid-file-range, r=Veykril
...
internal: error instead of panic on invalid file range
Fixes the panic in https://github.com/rust-lang/rust-analyzer/issues/13170
2022-11-07 16:45:26 +00:00
Lukas Wirth
1cb6ab89ee
internal: error instead of panic on invalid file range
2022-11-07 17:45:12 +01:00
bors
0aa0da9dda
Auto merge of #13572 - Veykril:cancellable, r=Veykril
...
internal: Use Cancellable in favor of Result for clarity
2022-11-07 16:22:33 +00:00
Lukas Wirth
fa70b0a86e
internal: Use Cancellable in favor of Result for clarity
2022-11-07 17:21:37 +01:00
bors
a27e4dad37
Auto merge of #13571 - Veykril:unique-references, r=Veykril
...
minor: Deduplicate reference search results
Fixes https://github.com/rust-lang/rust-analyzer/issues/13407
2022-11-07 15:49:54 +00:00
Lukas Wirth
6a06f6f724
Deduplicate reference search results
2022-11-07 16:48:50 +01:00
bors
d1c9775171
Auto merge of #13568 - noritada:fix/len-of-byte-string-with-escaped-newlines, r=Veykril
...
Fix the length displayed for byte string literals with escaped newlines
This is a fix for the problem I reported earlier: "the length of byte strings containing escaped newlines is displayed two bytes longer when the first escaped character is a newline".
I would appreciate it if you could review the fix.
Many thanks.
Closes #13567
2022-11-07 15:04:40 +00:00
bors
8a633fe986
Auto merge of #13570 - Veykril:dedup-crates-for, r=Veykril
...
minor: Remove code duplication
2022-11-07 14:52:05 +00:00
Lukas Wirth
b169e1e5de
Remove code duplication
2022-11-07 15:49:26 +01:00
Noritada Kobayashi
2340d7059e
Add test code for unescaping byte strings
2022-11-07 23:39:02 +09:00
bors
b0e56ef5e8
Auto merge of #13545 - Veykril:adjustment-hints, r=Veykril
...
Generalize reborrow hints as adjustment hints
Like reborrow hints, these are still mainly useful for teaching/learning

2022-11-07 14:38:59 +00:00
bors
3a839ea22e
Auto merge of #13569 - Veykril:rust-version, r=Veykril
...
Bump Cargo rust-version fields to latest stable
We already depend on `let ... else` now anyways
Closes https://github.com/rust-lang/rust-analyzer/issues/13562
2022-11-07 14:21:31 +00:00
Noritada Kobayashi
bdf8547013
Clarify the intent
...
Thanks to Lukas Wirth for a suggestion.
2022-11-07 22:51:29 +09:00
Lukas Wirth
ffd7bf8bf9
Bump Cargo rust-version fields to latest stable
2022-11-07 12:59:51 +01:00
Lukas Wirth
ee2dd934ca
Don't trigger adjustment hints in all inlay hint tests
2022-11-07 12:49:52 +01:00
bors
c0310c1e03
Auto merge of #13565 - Veykril:sysroot, r=Veykril
...
Update sysroot crates
2022-11-07 11:40:44 +00:00
Noritada Kobayashi
180b4cedec
Fix the length displayed for byte string literals with escaped newlines
...
The length of byte strings containing escaped newlines is displayed two
bytes longer when the first escaped character is a newline.
This is due to a small bug in handling the first escaped newline in
string literals.
Closes #13567
2022-11-07 20:07:16 +09:00
bors
d3d3806565
Auto merge of #12991 - TiddoLangerak:extract-method-from-trait-into-impl-root, r=Veykril
...
Feat: extracted method from trait impl is placed in existing impl
**Before**
https://user-images.githubusercontent.com/1759192/183872883-3b0eafd2-d1dc-440e-9e66-38e3372f8b64.mp4
**After**
https://user-images.githubusercontent.com/1759192/183875769-87f34c7d-52f0-4dfc-9766-f591ee738ebb.mp4
Previously, when triggering a method extraction from within an impl trait block, then this would always create a new impl block for
the struct, even if there already is one. Now, if there is already an existing trait-less impl block, then it'll put the extracted method in there.
**Caveats**:
- It currently requires the target impl block to be non-empty. This limitation is because the current architecture takes a `node_to_insert_after` as reference for where to insert the extracted function. An empty impl block doesn't have such a reference node, since it's empty. It seems that supporting this requires a much larger and more complex change.
- This is my first contribution in rust, so apologies for any beginner mistakes.
2022-11-07 11:07:12 +00:00
Lukas Wirth
8ad4a1d118
Update sysroot crates
2022-11-07 12:01:12 +01:00
Lukas Wirth
f24fbc2027
rustfmt
2022-11-07 11:58:57 +01:00
bors
364820a296
Auto merge of #13566 - lnicola:therefor, r=lnicola
...
minor: Fix typos
2022-11-07 10:54:38 +00:00
Laurențiu Nicola
cff7ab1308
Fix typos
2022-11-07 12:54:12 +02:00
bors
f54c313914
Auto merge of #13547 - Veykril:line-index, r=Veykril
...
internal: Optimize `apply_document_changes` a bit
cc https://github.com/rust-lang/rust-analyzer/issues/13538
2022-11-07 10:33:13 +00:00
bors
7742077419
Auto merge of #13552 - Veykril:flycheck-process-group, r=Veykril
...
internal: Use a process group for flycheck
Should fix https://github.com/rust-lang/rust-analyzer/issues/13348
2022-11-07 10:19:32 +00:00
bors
d03c1c87d4
Auto merge of #13556 - pd4d10:patch-1, r=lnicola
...
docs: fix adoc links
Correct #13536 with adoc link syntax
2022-11-05 17:57:31 +00:00
Rongjian Zhang
935eb3f634
docs: fix adoc links
2022-11-06 01:33:57 +08:00
Lukas Wirth
1dcc25a70a
internal: Use a process group for flycheck
2022-11-05 16:28:04 +01:00
bors
e47460b208
Auto merge of #13550 - Veykril:issue-template, r=lnicola
...
minor: Update github issue templates
2022-11-05 13:20:26 +00:00
bors
c06bbfb380
Auto merge of #13536 - pd4d10:patch-1, r=Veykril
...
docs: add crates section to the manual
closes #13533
Added a section to the user manual, to make it easier for users to find the correct crate.
2022-11-05 12:59:05 +00:00
bors
25b1d6f3f9
Auto merge of #13435 - DropDemBits:assists-format-args-capture-pt3, r=Veykril
...
Migrate assists to format args captures, part 3
Continuation of https://github.com/rust-lang/rust-analyzer/pull/13379
Migrates:
- `inline_call`
- `inline_local_variable`
- `introduce_named_lifetime`
- `merge_match_arms`
- `move_from_mod_rs`
- `move_guard`
- `move_module_to_file`
- `move_to_mod_rs`
- `number_representation`
- `qualify_method_call`
- `qualify_path`
- `raw_string`
- `remove_dbg`
- `replace_derive_with_manual_impl`
- `replace_or_with_or_else`
- `replace_turbofish_with_explicit_type`
- `unwrap_tuple`
- `wrap_return_type_in_result`
2022-11-05 12:41:23 +00:00
Lukas Wirth
ef4616822b
minor: Update github issue templates
2022-11-05 13:29:44 +01:00