]>
git.lizzy.rs Git - rust.git/log
Aleksey Kladov [Sat, 9 Oct 2021 11:18:53 +0000 (14:18 +0300)]
internal: move test
Aleksey Kladov [Sat, 9 Oct 2021 10:51:02 +0000 (13:51 +0300)]
internal: move test
Aleksey Kladov [Sat, 9 Oct 2021 10:42:32 +0000 (13:42 +0300)]
internal: start new macro test suite
I don't like our macro tests -- they are brittle and don't inspire
confidence. I think the reason for that is that we try to unit-test
them, but that is at odds with reality, where macro expansion
fundamentally depends on name resolution.
bors[bot] [Thu, 7 Oct 2021 15:09:42 +0000 (15:09 +0000)]
Merge #10474
10474: feat: Support `let...else` r=jonas-schievink a=jonas-schievink
bors r+
closes https://github.com/rust-analyzer/rust-analyzer/issues/10469
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
Jonas Schievink [Thu, 7 Oct 2021 15:05:50 +0000 (17:05 +0200)]
Support `let...else`
bors[bot] [Thu, 7 Oct 2021 13:05:18 +0000 (13:05 +0000)]
Merge #10477 #10482
10477: parser: fix parsing of macro call inside generic args r=Veykril a=cynecx
10482: fix: fix `inline_call` trying to use an uncached syntax node in Semantics r=Veykril a=Veykril
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/10475
bors r+
Co-authored-by: cynecx <me@cynecx.net>
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Lukas Wirth [Thu, 7 Oct 2021 12:46:49 +0000 (14:46 +0200)]
Expose HasSource::source through Semantics with caching behaviour
bors[bot] [Thu, 7 Oct 2021 12:56:28 +0000 (12:56 +0000)]
Merge #10480
10480: fix: Change `stdx::to_snake_case` to match rustc implementation r=Veykril a=Crauzer
Fixes #10473
Co-authored-by: crauzer <filip.quitko@gmail.com>
bors[bot] [Wed, 6 Oct 2021 21:47:22 +0000 (21:47 +0000)]
Merge #10467
10467: Optimize CodeLens for references/impls r=Veykril a=ericsampson
Don't do unnecessary work.
Followup to #10447 . cc `@Veykril`
Co-authored-by: Eric Sampson <esampson@eaze.com>
Eric Sampson [Wed, 6 Oct 2021 21:43:37 +0000 (16:43 -0500)]
Refactor to eliminate a vector allocation.
crauzer [Wed, 6 Oct 2021 21:37:43 +0000 (23:37 +0200)]
fix test
crauzer [Wed, 6 Oct 2021 21:24:47 +0000 (23:24 +0200)]
Fix stdx::to_snake_case
bors[bot] [Wed, 6 Oct 2021 20:54:27 +0000 (20:54 +0000)]
Merge #10479
10479: fix: fix "index out of bounds" panic in name resolution r=jonas-schievink a=jonas-schievink
Closes https://github.com/rust-analyzer/rust-analyzer/issues/10084
Closes https://github.com/rust-analyzer/rust-analyzer/issues/9163
This is really just a salsa update to a version that removes the problematic code (see https://github.com/rust-analyzer/rust-analyzer/issues/10084#issuecomment-
934445711 )
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
bors[bot] [Wed, 6 Oct 2021 20:45:14 +0000 (20:45 +0000)]
Merge #10476
10476: feat: Add `replace_try_expr_with_match` assist r=Veykril a=Crauzer
Adds the replace_try_expr_with_match assist
#10424
Co-authored-by: crauzer <filip.quitko@gmail.com>
Jonas Schievink [Wed, 6 Oct 2021 20:42:54 +0000 (22:42 +0200)]
Update salsa
cynecx [Wed, 6 Oct 2021 20:10:50 +0000 (22:10 +0200)]
parser: fix parsing of macro call inside generic args
bors[bot] [Wed, 6 Oct 2021 20:36:15 +0000 (20:36 +0000)]
Merge #10478
10478: minor: Update Cargo.lock r=Veykril a=Veykril
This causes CI to fail for some reason I think
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Lukas Wirth [Wed, 6 Oct 2021 20:34:55 +0000 (22:34 +0200)]
Update Cargo.lock
crauzer [Wed, 6 Oct 2021 18:45:18 +0000 (20:45 +0200)]
fix tests
crauzer [Wed, 6 Oct 2021 18:23:22 +0000 (20:23 +0200)]
add sourcegen
crauzer [Wed, 6 Oct 2021 18:11:00 +0000 (20:11 +0200)]
Add replace_try_expr_with_match assist
bors[bot] [Wed, 6 Oct 2021 15:05:40 +0000 (15:05 +0000)]
Merge #10420
10420: Parse outer attributes on StructPatternEtCetera r=jonas-schievink a=XFFXFF
Try to fix https://github.com/rust-analyzer/rust-analyzer/issues/8610
Related pr in ungrammer: https://github.com/rust-analyzer/ungrammar/pull/41
Co-authored-by: zhoufan <1247714429@qq.com>
bors[bot] [Wed, 6 Oct 2021 09:38:58 +0000 (09:38 +0000)]
Merge #10459
10459: feat: Add generate constant assist r=Veykril a=longfangsong
Close #10330.
![demo(1)](https://user-images.githubusercontent.com/
13777628 /
135885262 -
c80de86f -5555-4f84-9508-
822243f8a876 .gif)
Co-authored-by: longfangsong <longfangsong@icloud.com>
Co-authored-by: 龙方淞 <longfangsong@icloud.com>
Eric Sampson [Wed, 6 Oct 2021 06:16:31 +0000 (01:16 -0500)]
Don't do work and then throw it away.
longfangsong [Wed, 6 Oct 2021 02:14:12 +0000 (10:14 +0800)]
cleanup
龙方淞 [Wed, 6 Oct 2021 02:06:51 +0000 (10:06 +0800)]
Update crates/ide_assists/src/handlers/generate_constant.rs
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
龙方淞 [Wed, 6 Oct 2021 02:06:46 +0000 (10:06 +0800)]
Update crates/ide_assists/src/handlers/generate_constant.rs
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
bors[bot] [Tue, 5 Oct 2021 22:03:23 +0000 (22:03 +0000)]
Merge #10447
10447: Add enum variant references CodeLens. r=Veykril a=ericsampson
Co-authored-by: Eric Sampson <esampson@eaze.com>
Eric Sampson [Tue, 5 Oct 2021 20:42:45 +0000 (15:42 -0500)]
Refactor according to PR comments to remove allocations.
bors[bot] [Tue, 5 Oct 2021 16:41:11 +0000 (16:41 +0000)]
Merge #10458
10458: feat: Implement custom user snippets r=Veykril a=Veykril
![Y24dX7fOWX](https://user-images.githubusercontent.com/
3757771 /
136059454 -
ceccfc2c -2c90-46da-8ad1-
bac9c2e83ec1 .gif)
Allows us to address the following issues:
- `.arc / .rc / .pin, similar to .box?` https://github.com/rust-analyzer/rust-analyzer/issues/7033
- `Add unsafe snippet` https://github.com/rust-analyzer/rust-analyzer/issues/10392, would allow users to have this without the diagnostic)
- `.ok() postfix snippet is annoying` https://github.com/rust-analyzer/rust-analyzer/issues/9636, allows us to get rid of the `ok` postfix and similar ones
- `Postfix vec completion` https://github.com/rust-analyzer/rust-analyzer/issues/7773
cc https://github.com/rust-analyzer/rust-analyzer/issues/772
Zulipd discussion: https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Frust-analyzer/topic/Custom.20Postfix.20snippets
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Lukas Wirth [Tue, 5 Oct 2021 16:00:27 +0000 (18:00 +0200)]
Render the expansion of snippets as their docs
Lukas Wirth [Tue, 5 Oct 2021 15:18:40 +0000 (17:18 +0200)]
Bring the implementation closer to VSCode snippet definitions
bors[bot] [Tue, 5 Oct 2021 08:58:40 +0000 (08:58 +0000)]
Merge #10440
10440: Fix Clippy warnings and replace some `if let`s with `match` r=Veykril a=arzg
I decided to try fixing a bunch of Clippy warnings. I am aware of this project’s opinion of Clippy (I have read both [rust-lang/clippy#5537](https://github.com/rust-lang/rust-clippy/issues/5537) and [rust-analyzer/rowan#57 (comment)](https://github.com/rust-analyzer/rowan/pull/57#discussion_r415676159)), so I totally understand if part of or the entirety of this PR is rejected. In particular, I can see how the semicolons and `if let` vs `match` commits provide comparatively little benefit when compared to the ensuing churn.
I tried to separate each kind of change into its own commit to make it easier to discard certain changes. I also only applied Clippy suggestions where I thought they provided a definite improvement to the code (apart from semicolons, which is IMO more of a formatting/consistency question than a linting question). In the end I accumulated a list of 28 Clippy lints I ignored entirely.
Sidenote: I should really have asked about this on Zulip before going through all 1,555 `if let`s in the codebase to decide which ones definitely look better as `match` :P
Co-authored-by: Aramis Razzaghipour <aramisnoah@gmail.com>
Aramis Razzaghipour [Sun, 3 Oct 2021 12:53:01 +0000 (23:53 +1100)]
Replace `if let` with `match` where appropriate
Aramis Razzaghipour [Sun, 3 Oct 2021 12:51:30 +0000 (23:51 +1100)]
Replace `if let Some(_) = foo` with `if foo.is_some()`
Eric Sampson [Mon, 4 Oct 2021 21:14:01 +0000 (16:14 -0500)]
initialize vector to required size.
Lukas Wirth [Mon, 4 Oct 2021 20:45:47 +0000 (22:45 +0200)]
Resolve macros in snippet require items
Lukas Wirth [Mon, 4 Oct 2021 20:13:12 +0000 (22:13 +0200)]
Regen docs
Lukas Wirth [Mon, 4 Oct 2021 20:05:30 +0000 (22:05 +0200)]
Fix multiple imports acting on files on separately
Lukas Wirth [Mon, 4 Oct 2021 19:47:02 +0000 (21:47 +0200)]
Regen generated_config.adoc
Lukas Wirth [Mon, 4 Oct 2021 19:44:33 +0000 (21:44 +0200)]
Make multiple import edits work for completions
Lukas Wirth [Mon, 4 Oct 2021 17:22:41 +0000 (19:22 +0200)]
Add custom non-postfix snippets
bors[bot] [Mon, 4 Oct 2021 16:24:54 +0000 (16:24 +0000)]
Merge #10460
10460: fix: Only add `proc_macro` to prelude in proc-macro crates r=jonas-schievink a=jonas-schievink
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/10455
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
Jonas Schievink [Mon, 4 Oct 2021 16:22:39 +0000 (18:22 +0200)]
Only add `proc_macro` to prelude in proc-macro crates
bors[bot] [Mon, 4 Oct 2021 15:58:06 +0000 (15:58 +0000)]
Merge #10456
10456: fix: Avoid cycle when lowering predicates for associated item lookup r=flodiebold a=jonas-schievink
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/10386
(the salsa bug persists, but this lets us avoid it by fixing the underlying bug)
This reimplements the rustc logic in https://github.com/rust-lang/rust/blob/
b27661eb33c74cb514dba059b47d86b6582ac1c2 /compiler/rustc_typeck/src/collect.rs#L556: When resolving an associated type `T::Item`, we've previously lowered all predicates that could affect `T`, but we actually have to look only at those predicates whose traits define an associated type of the right name.
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
longfangsong [Mon, 4 Oct 2021 15:53:32 +0000 (23:53 +0800)]
Add generate_constant assist
Lukas Wirth [Mon, 4 Oct 2021 15:49:21 +0000 (17:49 +0200)]
Initial implementation of custom postfix snippets
bors[bot] [Mon, 4 Oct 2021 15:44:19 +0000 (15:44 +0000)]
Merge #10457
10457: internal: remove support for pre-1.47 sysroots r=lnicola a=lnicola
This changed in 1.47 (about a year ago), so it should be pretty safe to remove.
bors r+
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
Jonas Schievink [Mon, 4 Oct 2021 15:39:55 +0000 (17:39 +0200)]
Avoid cycle when lowering predicates for associated item lookup
Laurențiu Nicola [Mon, 4 Oct 2021 15:36:56 +0000 (18:36 +0300)]
Remove support for old-style sysroot
bors[bot] [Mon, 4 Oct 2021 13:18:21 +0000 (13:18 +0000)]
Merge #10451
10451: minor: Simplify r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Lukas Wirth [Mon, 4 Oct 2021 13:16:13 +0000 (15:16 +0200)]
Simplify
bors[bot] [Mon, 4 Oct 2021 09:47:03 +0000 (09:47 +0000)]
Merge #10449
10449: make Some(1..) parsed r=lnicola a=XFFXFF
fixes https://github.com/rust-analyzer/rust-analyzer/issues/9066
[rustc_ty_utils/src/ty.rs](https://github.com/rust-lang/rust/blob/
d7795d302adbb8c1547c952cd0d04a7f9ca29262 /compiler/rustc_ty_utils/src/ty.rs#L524)
Co-authored-by: zhoufan <1247714429@qq.com>
zhoufan [Mon, 4 Oct 2021 09:33:48 +0000 (17:33 +0800)]
make Some(1..) parsed
Eric Sampson [Mon, 4 Oct 2021 07:42:13 +0000 (02:42 -0500)]
tweak variable names.
Eric Sampson [Mon, 4 Oct 2021 07:30:46 +0000 (02:30 -0500)]
need to update some generated files.
Eric Sampson [Mon, 4 Oct 2021 07:18:31 +0000 (02:18 -0500)]
Add enum variant references CodeLens.
bors[bot] [Sun, 3 Oct 2021 14:58:28 +0000 (14:58 +0000)]
Merge #10442
10442: fix: Limit depth to 1 when searching for `Cargo.toml` r=matklad a=lnicola
...and add `rust-project.json`.
More or less fixes #7268
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
Laurențiu Nicola [Sun, 3 Oct 2021 14:42:45 +0000 (17:42 +0300)]
Limit depth to 1 when searching for Cargo.toml
bors[bot] [Sun, 3 Oct 2021 13:35:47 +0000 (13:35 +0000)]
Merge #10441
10441: feat: Hide type inlay hints for constructors r=Veykril a=Veykril
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/3022
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Lukas Wirth [Sun, 3 Oct 2021 13:31:35 +0000 (15:31 +0200)]
Hide generic constructors if appropriate
Aramis Razzaghipour [Sun, 3 Oct 2021 12:45:08 +0000 (23:45 +1100)]
Fix miscellaneous Clippy lints
Lukas Wirth [Sun, 3 Oct 2021 12:45:21 +0000 (14:45 +0200)]
feat: Hide type inlay hints for constructors
Aramis Razzaghipour [Sun, 3 Oct 2021 12:39:43 +0000 (23:39 +1100)]
Add semicolons for consistency
`clippy::semicolon_if_nothing_returned`
bors[bot] [Sun, 3 Oct 2021 12:19:02 +0000 (12:19 +0000)]
Merge #10439
10439: fix: fix insert_use incorrectly merging glob imports r=Veykril a=Veykril
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/6800
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Lukas Wirth [Sun, 3 Oct 2021 11:52:46 +0000 (13:52 +0200)]
fix: fix insert_use incorrectly merging glob imports
Lukas Wirth [Sun, 3 Oct 2021 11:52:40 +0000 (13:52 +0200)]
Move module private logic down
bors[bot] [Sun, 3 Oct 2021 11:06:06 +0000 (11:06 +0000)]
Merge #10438
10438: minor: Simplify r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Lukas Wirth [Sun, 3 Oct 2021 10:42:00 +0000 (12:42 +0200)]
minor: Simplify
bors[bot] [Sun, 3 Oct 2021 10:07:58 +0000 (10:07 +0000)]
Merge #10436
10436: fix: await insertion with try_expr during extract_function r=Veykril a=feniljain
Fixing #10333
Co-authored-by: vi_mi <fenil.jain2018@vitstudent.ac.in>
vi_mi [Sun, 3 Oct 2021 08:26:19 +0000 (08:26 +0000)]
fix: await insertion with try_expr during extract_function
bors[bot] [Sun, 3 Oct 2021 09:10:33 +0000 (09:10 +0000)]
Merge #10437
10437: fix: Fix extract_variable not allowing to extract macro calls r=Veykril a=Veykril
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/6866
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Lukas Wirth [Sun, 3 Oct 2021 09:09:49 +0000 (11:09 +0200)]
Fix extract_variable not allowing to extract macro calls
zhoufan [Sun, 3 Oct 2021 01:22:02 +0000 (09:22 +0800)]
move outer_attrs call before the match
bors[bot] [Sat, 2 Oct 2021 17:39:06 +0000 (17:39 +0000)]
Merge #10431
10431: internal: cleanup mbe a bit r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sat, 2 Oct 2021 17:38:28 +0000 (20:38 +0300)]
minor: simplify
Aleksey Kladov [Sat, 2 Oct 2021 17:21:23 +0000 (20:21 +0300)]
minor: cleanup
Aleksey Kladov [Sat, 2 Oct 2021 17:11:08 +0000 (20:11 +0300)]
internal: move code to where it's used and reduce visibility
bors[bot] [Sat, 2 Oct 2021 16:51:55 +0000 (16:51 +0000)]
Merge #10430
10430: fix: Fix rename trying to edit the same range multiple times for certain macro inputs r=Veykril a=Veykril
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/10324
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Lukas Wirth [Sat, 2 Oct 2021 16:50:21 +0000 (18:50 +0200)]
Fix rename trying to edit the same range multiple times
bors[bot] [Sat, 2 Oct 2021 16:43:24 +0000 (16:43 +0000)]
Merge #10421
10421: minor: Bump npm non-dev deps r=lnicola a=lnicola
Fixes #10407
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
bors[bot] [Sat, 2 Oct 2021 16:34:03 +0000 (16:34 +0000)]
Merge #10429
10429: internal: remove deprecated method r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sat, 2 Oct 2021 12:32:23 +0000 (15:32 +0300)]
minor: dead code
Aleksey Kladov [Sat, 2 Oct 2021 12:26:02 +0000 (15:26 +0300)]
internal: remove deprecated method
Aleksey Kladov [Sat, 2 Oct 2021 12:24:32 +0000 (15:24 +0300)]
minor: reduce duplication
bors[bot] [Sat, 2 Oct 2021 12:20:45 +0000 (12:20 +0000)]
Merge #10428
10428: minor: regen r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sat, 2 Oct 2021 12:20:16 +0000 (15:20 +0300)]
minor: regen
Aleksey Kladov [Sat, 2 Oct 2021 12:20:03 +0000 (15:20 +0300)]
minor: generated code readability
bors[bot] [Sat, 2 Oct 2021 10:21:07 +0000 (10:21 +0000)]
Merge #10427
10427: minor r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sat, 2 Oct 2021 10:20:45 +0000 (13:20 +0300)]
minor
bors[bot] [Sat, 2 Oct 2021 10:06:24 +0000 (10:06 +0000)]
Merge #10426
10426: internal: use naming that matches intended use-case r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sat, 2 Oct 2021 10:02:06 +0000 (13:02 +0300)]
internal: untangle usages of ReferenceCategory somewhat
Not everything that can be read or write is a reference, let's try to
use more precise types.
bors[bot] [Sat, 2 Oct 2021 09:54:33 +0000 (09:54 +0000)]
Merge #10425
10425: fix: remove semicolon diagnostics only highlights the semi r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sat, 2 Oct 2021 09:51:29 +0000 (12:51 +0300)]
fix: remove semicolon diagnostics only highlights the semi
Aleksey Kladov [Sat, 2 Oct 2021 09:18:18 +0000 (12:18 +0300)]
internal: use naming that matches intended use-case
bors[bot] [Sat, 2 Oct 2021 07:08:48 +0000 (07:08 +0000)]
Merge #10422
10422: fix: overwrite files when calling `patchelf` r=lnicola a=lnicola
Fixes #10379
bors r+
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
Laurențiu Nicola [Sat, 2 Oct 2021 07:07:50 +0000 (10:07 +0300)]
Remove temporary file on exception
Laurențiu Nicola [Sat, 2 Oct 2021 07:05:39 +0000 (10:05 +0300)]
Overwrite file when running patchelf
Laurențiu Nicola [Sat, 2 Oct 2021 04:37:51 +0000 (07:37 +0300)]
Bump npm non-dev deps
zhoufan [Sat, 2 Oct 2021 01:57:44 +0000 (09:57 +0800)]
Parse outer attributes on StructPatternEtCetera