]>
git.lizzy.rs Git - rust.git/log
Aleksey Kladov [Tue, 20 Jul 2021 11:33:08 +0000 (14:33 +0300)]
minor: publish la_arena
bors[bot] [Tue, 20 Jul 2021 09:57:12 +0000 (09:57 +0000)]
Merge #9641
9641: docs: publish Explaining Rust Analyzer series r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Mon, 19 Jul 2021 20:40:20 +0000 (23:40 +0300)]
docs: publish Explaining Rust Analyzer series
Lukas Wirth [Mon, 19 Jul 2021 18:36:44 +0000 (20:36 +0200)]
Resolve paths to assoc items for traits
bors[bot] [Mon, 19 Jul 2021 18:22:30 +0000 (18:22 +0000)]
Merge #9638
9638: internal: replace some unwraps with types r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Mon, 19 Jul 2021 18:21:41 +0000 (21:21 +0300)]
minor: simplify
Aleksey Kladov [Mon, 19 Jul 2021 18:20:10 +0000 (21:20 +0300)]
internal: use types to remove some unwraps
Lukas Wirth [Mon, 19 Jul 2021 17:57:55 +0000 (19:57 +0200)]
Add doc-link resolution test infra
Aleksey Kladov [Mon, 19 Jul 2021 16:18:39 +0000 (19:18 +0300)]
minor: typo
bors[bot] [Mon, 19 Jul 2021 15:28:36 +0000 (15:28 +0000)]
Merge #9625
9625: internal: simplify handling of the build scripts r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
bors[bot] [Mon, 19 Jul 2021 15:18:01 +0000 (15:18 +0000)]
Merge #9635
9635: internal: explain why we avoid serializing everything r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Mon, 19 Jul 2021 14:47:56 +0000 (17:47 +0300)]
internal: explain why we avoid serializing everything
bors[bot] [Mon, 19 Jul 2021 13:39:28 +0000 (13:39 +0000)]
Merge #9631
9631: Added some metadata for rust-analyzer package sufficient to build a package using `cargo deb` r=matklad a=KOLANICH
Co-authored-by: KOLANICH <kolan_n@mail.ru>
Aleksey Kladov [Mon, 19 Jul 2021 13:35:29 +0000 (16:35 +0300)]
remove debug prints
Aleksey Kladov [Mon, 19 Jul 2021 13:24:45 +0000 (16:24 +0300)]
fix tests
KOLANICH [Mon, 19 Jul 2021 12:39:49 +0000 (15:39 +0300)]
Added some metadata for rust-analyser package sufficient to build it using `cargo deb`
Co-authored-by: bjorn3 <bjorn3@users.noreply.github.com>
Damien Elmes [Mon, 19 Jul 2021 13:09:29 +0000 (23:09 +1000)]
minor update to excludeDirs doc
I saw reference to globs in #7755, but it doesn't look like they're
actually supported, and I had to dig through the source to discover
that the folders are relative to the workspace root. Further digging
was required to get VS Code from hanging for long periods trying to
watch giant Bazel folders that had already been excluded from Rust
Analyzer. Hopefully this tweak will save others the confusion :-)
bors[bot] [Mon, 19 Jul 2021 13:00:57 +0000 (13:00 +0000)]
Merge #9633
9633: internal: Add `TreeId` to identify `ItemTree`s r=jonas-schievink a=jonas-schievink
With per-block `ItemTree`s, the file ID will not be enough to identify an `ItemTree`.
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
Jonas Schievink [Mon, 19 Jul 2021 12:53:18 +0000 (14:53 +0200)]
Add `TreeId` to identify `ItemTree`s
With per-block `ItemTree`s, the file ID is not enough to identify an
`ItemTree`.
Robert Bartlensky [Sat, 10 Jul 2021 20:49:17 +0000 (21:49 +0100)]
Add `Limit` struct.
Fixes #9286.
bors[bot] [Mon, 19 Jul 2021 02:54:09 +0000 (02:54 +0000)]
Merge #9627
9627: fix: Typo in architecture.md r=lnicola a=alexfertel
Co-authored-by: Alexander Gonzalez <alexfertel97@gmail.com>
Alexander Gonzalez [Mon, 19 Jul 2021 02:17:45 +0000 (22:17 -0400)]
fix: Typo in architecture.md
Florian Diebold [Thu, 15 Jul 2021 18:02:58 +0000 (20:02 +0200)]
Determine expected parameters from expected return in calls
Fixes #9560
Aleksey Kladov [Sun, 18 Jul 2021 10:13:03 +0000 (13:13 +0300)]
fix: potential bugs when build scripts do not match the current project
bors[bot] [Sun, 18 Jul 2021 09:10:56 +0000 (09:10 +0000)]
Merge #9619
9619: Support GATs for associated type arg parsing r=Veykril a=Veykril
Fixes #9602
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Lukas Wirth [Sat, 17 Jul 2021 11:47:53 +0000 (13:47 +0200)]
Support GATs for associated type arg parsing
Aleksey Kladov [Sun, 18 Jul 2021 08:29:22 +0000 (11:29 +0300)]
internal: simplify handling of the build scripts
bors[bot] [Sun, 18 Jul 2021 07:26:05 +0000 (07:26 +0000)]
Merge #9624
9624: minor: Fix `AbsPath::ends_with` r=lnicola a=lnicola
bors r+
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
Laurențiu Nicola [Sun, 18 Jul 2021 07:25:14 +0000 (10:25 +0300)]
Fix AbsPath::ends_with
vi_mi [Tue, 13 Jul 2021 16:32:56 +0000 (22:02 +0530)]
add: fix: Adding remove_unused_param for method and fixing same for associative func
bors[bot] [Sat, 17 Jul 2021 21:16:43 +0000 (21:16 +0000)]
Merge #9623
9623: internal: make it clearer where IO happens r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sat, 17 Jul 2021 20:43:54 +0000 (23:43 +0300)]
internal: make it clearer where IO happens
bors[bot] [Sat, 17 Jul 2021 19:41:42 +0000 (19:41 +0000)]
Merge #9622
9622: feat: improve parser error recovery for function parameters r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sat, 17 Jul 2021 19:41:04 +0000 (22:41 +0300)]
feat: improve parser error recovery for function parameters
bors[bot] [Sat, 17 Jul 2021 15:14:02 +0000 (15:14 +0000)]
Merge #9620
9620: internal: don't depend on cwd r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sat, 17 Jul 2021 14:40:13 +0000 (17:40 +0300)]
internal: a bit more of cwd safety for flycheck
bors[bot] [Sat, 17 Jul 2021 15:04:55 +0000 (15:04 +0000)]
Merge #9621
9621: Remove outdated "(not yet released)" hint r=lnicola a=cakebaker
Neovim 0.5 has been released recently (see http://neovim.io/news/2021/07), hence the "(not yet released)" hint is no longer needed.
Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
Daniel Hofstetter [Sat, 17 Jul 2021 14:56:26 +0000 (16:56 +0200)]
Remove outdated "(not yet released)" hint
Neovim 0.5 has been released recently (see http://neovim.io/news/2021/07), hence the "(not yet released)" hint is no longer needed.
Aleksey Kladov [Sat, 17 Jul 2021 13:54:48 +0000 (16:54 +0300)]
internal: make sure that proc macro machinery doesn't depend on cwd
Aleksey Kladov [Sat, 17 Jul 2021 13:43:33 +0000 (16:43 +0300)]
internal: make it easier to isolate IO
bors[bot] [Fri, 16 Jul 2021 13:48:23 +0000 (13:48 +0000)]
Merge #9614
9614: Parse input expressions for dbg! invocations in remove_dbg r=Veykril a=Veykril
Instead of inspecting the input tokentree manually, parse the input as `,` delimited expressions instead and act on that. This simplifies the assist quite a bit.
Fixes #8455
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Lukas Wirth [Fri, 16 Jul 2021 13:46:29 +0000 (15:46 +0200)]
Cleanup tests
Lukas Wirth [Fri, 16 Jul 2021 13:20:50 +0000 (15:20 +0200)]
Parse input expressions in for dbg! in remove_dbg
bors[bot] [Thu, 15 Jul 2021 21:42:47 +0000 (21:42 +0000)]
Merge #9611
9611: minor: Explicitly connect an ambiguous import path case logic with its test r=SomeoneToIgnore a=SomeoneToIgnore
Follows up https://github.com/rust-analyzer/rust-analyzer/pull/8820/
Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
Kirill Bulatov [Thu, 15 Jul 2021 21:41:00 +0000 (00:41 +0300)]
Explicitly connect an ambiguous import path case logic with the test on it
bors[bot] [Thu, 15 Jul 2021 20:24:22 +0000 (20:24 +0000)]
Merge #9608
9608: minor: Add regression test fo #7222 r=Veykril a=Veykril
Closes #7222
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Lukas Wirth [Thu, 15 Jul 2021 20:23:34 +0000 (22:23 +0200)]
Add regression test fo #7222
bors[bot] [Thu, 15 Jul 2021 19:29:28 +0000 (19:29 +0000)]
Merge #9607
9607: minor: Simplify r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Lukas Wirth [Thu, 15 Jul 2021 19:28:30 +0000 (21:28 +0200)]
Simplify
Florian Diebold [Thu, 15 Jul 2021 18:02:48 +0000 (20:02 +0200)]
Adapt tests for correct behavior
bors[bot] [Thu, 15 Jul 2021 15:54:55 +0000 (15:54 +0000)]
Merge #9605
9605: internal: Folding ranges respect item visibilities r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Lukas Wirth [Thu, 15 Jul 2021 15:44:23 +0000 (17:44 +0200)]
Folding ranges respect item visibilities
Lukas Wirth [Thu, 15 Jul 2021 15:02:45 +0000 (17:02 +0200)]
Add nested region folding test
bors[bot] [Thu, 15 Jul 2021 14:36:22 +0000 (14:36 +0000)]
Merge #9604
9604: fix: Don't fold consecutive modules with item lists r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Lukas Wirth [Thu, 15 Jul 2021 14:35:31 +0000 (16:35 +0200)]
Don't fold consecutive modules with item lists
bors[bot] [Thu, 15 Jul 2021 14:27:57 +0000 (14:27 +0000)]
Merge #9603
9603: internal: Move attribute completion tests r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Lukas Wirth [Thu, 15 Jul 2021 14:27:01 +0000 (16:27 +0200)]
Move attribute completion tests
bors[bot] [Thu, 15 Jul 2021 00:45:55 +0000 (00:45 +0000)]
Merge #9600
9600: fix: Single-line and nested blocks in the `unwrap_block` assist r=Veykril a=patrick-gu
Fixes #8411
Rework the system for stripping whitespace and braces in the unwrap_block assist to allow correct unwrapping of blocks such as:
```rust
{ $0 0 }
```
into
```rust
0
```
and nested blocks, such as:
```rust
$0{
{
3
}
}
```
into
```rust
{
3
}
```
This is done by creating the `update_expr_string_with_pat` function (along with `update_expr_string` and `update_expr_string_without_newline`), which strips whitespace and braces in a way that ensures that only whitespace and a maximum of one brace are removed from the start and end of the expression string.
I have also created several tests to ensure that this functionality works correctly.
Co-authored-by: patrick-gu <55641350+patrick-gu@users.noreply.github.com>
bors[bot] [Thu, 15 Jul 2021 00:20:44 +0000 (00:20 +0000)]
Merge #9595
9595: Show test mod runnable in outline modules r=Veykril a=Veykril
This shows a runnable inside outline test modules at the top of its file:
![image](https://user-images.githubusercontent.com/
3757771 /
125494747 -
169c9238 -3faa-4eed-9700-
90bd730b4e3c .png)
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
patrick-gu [Wed, 14 Jul 2021 19:00:48 +0000 (12:00 -0700)]
fix: Single-line and nested blocks in unwrap_block
Rework the system for stripping whitespace and braces in the
unwrap_block assist to allow correct unwrapping of `{$0 { 0 } }`
bors[bot] [Wed, 14 Jul 2021 16:29:25 +0000 (16:29 +0000)]
Merge #9599
9599: Complete true and false keywords r=Veykril a=fabledpig
Closes #9521.
Co-authored-by: Levente Gyozo Lenart <leviiibog@gmail.com>
Levente Gyozo Lenart [Wed, 14 Jul 2021 16:16:18 +0000 (18:16 +0200)]
Update tests
Levente Gyozo Lenart [Wed, 14 Jul 2021 16:15:00 +0000 (18:15 +0200)]
Add true and false as completion suggestions when expecting an expression
Lukas Wirth [Tue, 13 Jul 2021 16:55:06 +0000 (18:55 +0200)]
Show test mod runnable in outline modules
bors[bot] [Tue, 13 Jul 2021 23:43:01 +0000 (23:43 +0000)]
Merge #9597
9597: Use Type::walk for goto_type_definition r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Lukas Wirth [Tue, 13 Jul 2021 23:42:30 +0000 (01:42 +0200)]
Use Type::walk for goto_type_definition
bors[bot] [Tue, 13 Jul 2021 17:25:00 +0000 (17:25 +0000)]
Merge #9596
9596: Return type arguments in goto_type_definition result r=Veykril a=Veykril
Fixes #9586
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Lukas Wirth [Tue, 13 Jul 2021 17:22:44 +0000 (19:22 +0200)]
Return type arguments in goto_type_definition result
bors[bot] [Tue, 13 Jul 2021 16:57:19 +0000 (16:57 +0000)]
Merge #9594
9594: Assign mutable semantic token modifier to assignment operators r=Veykril a=Veykril
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/9578
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Lukas Wirth [Tue, 13 Jul 2021 16:32:02 +0000 (18:32 +0200)]
Assign mutable semantic token modifier to assignment operators
bors[bot] [Tue, 13 Jul 2021 16:30:52 +0000 (16:30 +0000)]
Merge #9592
9592: internal: Split main highlighting function up into a few subfunctions r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Lukas Wirth [Tue, 13 Jul 2021 16:21:20 +0000 (18:21 +0200)]
Split main highlighting function up into a few subfunctions
bors[bot] [Tue, 13 Jul 2021 12:02:52 +0000 (12:02 +0000)]
Merge #9588
9588: minor: make sure that project_root works correctly r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Tue, 13 Jul 2021 12:02:29 +0000 (15:02 +0300)]
minor: make sure that project_root works correctly
bors[bot] [Tue, 13 Jul 2021 10:43:01 +0000 (10:43 +0000)]
Merge #9585
9585: Rename the old server before update r=matklad a=lnicola
Kinda' fixes #6602
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
bors[bot] [Tue, 13 Jul 2021 10:35:20 +0000 (10:35 +0000)]
Merge #9550
9550: Proc macro multi abi proof of concept r=matklad a=alexjg
#8925 was irritating me so I thought I would have a bash at fixing it. What I've done here is copy the `crates/proc_macro_srv/src/proc_macro` code (which is copied from `<RUST>/library/proc_macro`) to `crates/proc_macro_srv/src/proc_macro_nightly` and the modified the nightly version to include the changes from https://github.com/rust-analyzer/rust-analyzer/pull/9047 and https://github.com/yotamofek/rust-analyzer/commit/
aeb7b183a2302af968f1110fb3cbd00c76a34974
This gives us the code to support both stable and nightly ABIs. Then we use the `proc_macro_api::version::read_dylib_info` to determine which version of the ABI to load when creating a `ProcMacroLibraryLibLoading` (which is now an enum).
This seems to work for me. The code could be cleaned up but I wanted to see if the approach makes sense before I spend more time on it.
I've split the change into two commits, the first is just copying and modifying the `proc_macro` crate, the second contains most of the interesting work around figuring out which ABI to use.
Co-authored-by: Alex Good <alex@memoryandthought.me>
Co-authored-by: alexjg <alex@memoryandthought.me>
Laurențiu Nicola [Mon, 12 Jul 2021 19:09:01 +0000 (22:09 +0300)]
Rename the old server before update
bors[bot] [Mon, 12 Jul 2021 18:15:45 +0000 (18:15 +0000)]
Merge #9583
9583: internal: get rid of a call to slow O(N) visibility_of function r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Mon, 12 Jul 2021 18:13:43 +0000 (21:13 +0300)]
internal: get rid of a call to slow O(N) visibility_of function
Instead of inferring module's declared visibility by looking at the
scope of its parent, let's just remeber the declared visibility in the
DefMap.
bors[bot] [Mon, 12 Jul 2021 17:18:43 +0000 (17:18 +0000)]
Merge #9582
9582: internal: remove erroneous default impl r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Mon, 12 Jul 2021 17:14:58 +0000 (20:14 +0300)]
internal: remove erroneous default impl
Aleksey Kladov [Mon, 12 Jul 2021 17:04:41 +0000 (20:04 +0300)]
internal: remove deprecated fn
Aleksey Kladov [Mon, 12 Jul 2021 17:02:56 +0000 (20:02 +0300)]
internal: perpare to remove ModuleData::default
Aleksey Kladov [Mon, 12 Jul 2021 17:00:17 +0000 (20:00 +0300)]
internal: remove erroneous Default impl for ModuleOrigin
In rust-analyzer, we avoid defualt impls for types which don't have
sensible, "empty" defaults. In particular, we avoid using invalid
indices for defaults and similar hacks.
Alex Good [Mon, 12 Jul 2021 14:47:47 +0000 (15:47 +0100)]
Introduce proc_macro_srv::abis, impl 1.47 and 1.55
Rather than a "Stable" and "Nightly" ABI we instead name ABIs based on
the version of the rust compiler in which they were introduced. We place
these ABIs in a new module - `proc_macro_srv::abis` - where we also add
some mchinery to abstract over ABIs. This should make it easy to add new
ABIs at a later date as the rust compiler evolves.
alexjg [Sat, 10 Jul 2021 16:07:12 +0000 (17:07 +0100)]
check rustc major version == 1 not < 1
Co-authored-by: bjorn3 <bjorn3@users.noreply.github.com>
Alex Good [Sat, 10 Jul 2021 14:12:41 +0000 (15:12 +0100)]
Use rustc version of dylib to choose which proc macro ABI to use
Alex Good [Sat, 10 Jul 2021 14:11:17 +0000 (15:11 +0100)]
copy proc_maco to proc_macro_nightly and modify for nightly ABI compatibility
bors[bot] [Mon, 12 Jul 2021 14:45:48 +0000 (14:45 +0000)]
Merge #9179
9179: Update npm deps r=matklad a=lnicola
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
bors[bot] [Mon, 12 Jul 2021 13:37:12 +0000 (13:37 +0000)]
Merge #9579
9579: fix: Set more `CARGO_` env vars r=jonas-schievink a=jonas-schievink
Set `CARGO_CRATE_NAME` to the package name, with `-` replaced by `_`. This is wrong, but better than not setting the variable at all.
Also set `CARGO_PKG_HOMEPAGE` since it's easy.
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
Jonas Schievink [Mon, 12 Jul 2021 13:34:49 +0000 (15:34 +0200)]
Set more `CARGO_` env vars
bors[bot] [Mon, 12 Jul 2021 13:23:26 +0000 (13:23 +0000)]
Merge #9535
9535: internal: remove proc macro management thread r=jonas-schievink a=jonas-schievink
Communication with the proc macro server process has always happened one request at a time, so the additional thread isn't really needed (it just forwarded each request, and sent back the response). This removes some indirection that was a bit hard to understand (a channel was allocated and sent over another channel to return the response).
Hope I'm not missing anything here
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
Jonas Schievink [Mon, 12 Jul 2021 13:19:53 +0000 (15:19 +0200)]
Address review comments
bors[bot] [Sun, 11 Jul 2021 14:28:08 +0000 (14:28 +0000)]
Merge #9569
9569: internal: Explicitly check for reference locals or fields in Name classification r=Veykril a=Veykril
Closes #7524
Inlines all the calls to reference related name classification as well as emits both goto definition targets for field shorthands.
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
bors[bot] [Sun, 11 Jul 2021 14:19:25 +0000 (14:19 +0000)]
Merge #9572
9572: fix: Work around older synstructure derives r=lnicola a=flodiebold
Fixes #9562, until the proper fix rust-lang/chalk#717 works which requires mystor/synstructure#47 to be released.
Also add an unrelated test, for #9560.
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
Lukas Wirth [Sun, 11 Jul 2021 14:16:16 +0000 (16:16 +0200)]
Return both field and local references for shorthands in goto_def
Florian Diebold [Sun, 11 Jul 2021 14:14:22 +0000 (16:14 +0200)]
Add test for #9560
Florian Diebold [Sun, 11 Jul 2021 11:22:11 +0000 (13:22 +0200)]
Add workaround for #9562
This treats the consts generated by older synstructure versions like
unnamed consts. We should remove this at some point (at least after
Chalk has switched).
Lukas Wirth [Sun, 11 Jul 2021 13:39:09 +0000 (15:39 +0200)]
Inline name classification reference calls
Lukas Wirth [Sun, 11 Jul 2021 12:03:35 +0000 (14:03 +0200)]
Explicitly check for reference locals or fields in Name classification