]>
git.lizzy.rs Git - rust.git/log
bors[bot] [Mon, 24 May 2021 19:59:51 +0000 (19:59 +0000)]
Merge #8975
8975: Use todo!() as placeholder body for generated match arms r=matklad a=jDomantas
`todo!()` seems to be a better fit for this than `{}`. Seeing that this assist predates stabilization of `todo` my guess is that simply no one bothered to change it yet.
Also fixed the issue where if the last arm was not block-like, rust-analyzer would not add a comma after it and would generate invalid code.
Co-authored-by: Domantas Jadenkus <djadenkus@gmail.com>
bors[bot] [Mon, 24 May 2021 19:52:01 +0000 (19:52 +0000)]
Merge #8977
8977: internal: minor `TokenMap` cleanups r=jonas-schievink a=jonas-schievink
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
Jonas Schievink [Mon, 24 May 2021 19:47:01 +0000 (21:47 +0200)]
Fixup
bors[bot] [Mon, 24 May 2021 19:22:34 +0000 (19:22 +0000)]
Merge #8976
8976: internal: rename hypothetical -> speculative r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Mon, 24 May 2021 19:21:25 +0000 (22:21 +0300)]
internal: rename hypothetical -> speculative
Lets steal this good naming from Roslyn before I forget about it yet
again.
Domantas Jadenkus [Mon, 24 May 2021 19:01:26 +0000 (22:01 +0300)]
add test that it does not create extraneous commas
Domantas Jadenkus [Mon, 24 May 2021 18:53:58 +0000 (21:53 +0300)]
tidy
Domantas Jadenkus [Mon, 24 May 2021 18:53:42 +0000 (21:53 +0300)]
generate match arms with todo!() as placeholder body
Jonas Schievink [Mon, 24 May 2021 18:29:48 +0000 (20:29 +0200)]
Make `TokenTextRange` private
Jonas Schievink [Mon, 24 May 2021 16:43:42 +0000 (18:43 +0200)]
Move `TokenMap` to its own file
bors[bot] [Mon, 24 May 2021 16:38:15 +0000 (16:38 +0000)]
Merge #8970
8970: fix: duplicate dependencies that have multiple DepKinds r=jonas-schievink a=jonas-schievink
Cargo collapses identical dependencies that are listed under `[dependencies]` and `[build-dependencies]` into a single `NodeDep`. We have to undo that by duplicating the dependency for each of its listed `DepKind`s.
Not doing that would incorrectly treat a dependency as `DepKind::Normal`, even though it is *also* meant to be a `DepKind::Build`.
Fixes https://github.com/rust-analyzer/rust-analyzer/pull/8812#issuecomment-
847125395
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
Jonas Schievink [Mon, 24 May 2021 16:31:43 +0000 (18:31 +0200)]
Duplicate dependencies that have multiple DepKinds
bors[bot] [Mon, 24 May 2021 16:28:28 +0000 (16:28 +0000)]
Merge #8967
8967: fix cursor position after item move command r=matklad a=eduardocanellas
Co-authored-by: Eduardo Canellas <eduardocanellas98@gmail.com>
Eduardo Canellas [Mon, 24 May 2021 16:09:26 +0000 (13:09 -0300)]
fix: cursor position after item move command
closes Item movers need some fixes #8492
bors[bot] [Mon, 24 May 2021 15:34:52 +0000 (15:34 +0000)]
Merge #8963
8963: Bump deps r=matklad a=lnicola
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
Laurențiu Nicola [Mon, 24 May 2021 13:59:06 +0000 (16:59 +0300)]
Update test fixtures
bors[bot] [Mon, 24 May 2021 14:58:06 +0000 (14:58 +0000)]
Merge #8969
8969: fix: Update download instructions r=cschmatzler a=lnicola
Closes #8966
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
Laurențiu Nicola [Mon, 24 May 2021 14:48:15 +0000 (17:48 +0300)]
Update download instructions
bors[bot] [Mon, 24 May 2021 14:41:49 +0000 (14:41 +0000)]
Merge #8968
8968: docs: fix binary installation instructions r=matklad a=cschmatzler
fixes #8966
Co-authored-by: Christoph Schmatzler <christoph@schmatzler.name>
Christoph Schmatzler [Mon, 24 May 2021 14:38:33 +0000 (16:38 +0200)]
docs: fix binary installation instructions
issue #8926 removed uncompressed release artifacts. This updates the documentation to update instructions accordingly.
bors[bot] [Mon, 24 May 2021 13:58:44 +0000 (13:58 +0000)]
Merge #8965
8965: internal: intern `TypeBound` and `GenericArgs` r=jonas-schievink a=jonas-schievink
Saves a few MB, but not much
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
Laurențiu Nicola [Mon, 24 May 2021 13:39:19 +0000 (16:39 +0300)]
Bump rustc_lexer
Laurențiu Nicola [Mon, 24 May 2021 13:35:52 +0000 (16:35 +0300)]
Disable `unaliged` feature of `object`
Jonas Schievink [Mon, 24 May 2021 13:35:46 +0000 (15:35 +0200)]
Intern `GenericArgs`
This shaves off another ~4 mb or so
Laurențiu Nicola [Mon, 24 May 2021 13:35:23 +0000 (16:35 +0300)]
Bump object
Laurențiu Nicola [Mon, 24 May 2021 13:31:54 +0000 (16:31 +0300)]
Bump misc deps
Laurențiu Nicola [Mon, 24 May 2021 13:27:24 +0000 (16:27 +0300)]
Bump chalk
Jonas Schievink [Mon, 24 May 2021 13:13:23 +0000 (15:13 +0200)]
internal: intern `TypeBound`s
Doesn't save much memory (~2 mb), but interning things is generally a
good pattern to follow
bors[bot] [Mon, 24 May 2021 12:40:25 +0000 (12:40 +0000)]
Merge #8955
8955: feature: Support standalone Rust files r=matklad a=SomeoneToIgnore
![standalone](https://user-images.githubusercontent.com/
2690773 /
119277037 -
0b579380 -bc26-11eb-8d77-
20d46ab4916a .gif)
Closes https://github.com/rust-analyzer/rust-analyzer/issues/6388
Caveats:
* I've decided to support multiple detached files in the code (anticipating the scratch files), but I found no way to open multiple files in VSCode at once: running `code *.rs` makes the plugin to register in the `vscode.workspace.textDocuments` only the first file, while code actually displays all files later.
Apparently what happens is the same as when you have VSCode open at some workplace already and then run `code some_other_file.rs`: it gets opened in the same workspace of the same VSCode with no server to support it.
If there's a way to override it, I'd appreciate the pointer.
* No way to toggle inlay hints, since the setting is updated for the workspace (which does not exist for a single file opened)
> [2021-05-24 00:22:49.100] [exthost] [error] Error: Unable to write to Workspace Settings because no workspace is opened. Please open a workspace first and try again.
* No runners/lens to run or check the code are implemented for this mode.
In theory, we can detect `rustc`, run it on a file and run the resulting binary, but not sure if worth doing it at this stage.
Otherwise imports, hints, completion and other features work.
Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
Kirill Bulatov [Mon, 24 May 2021 11:52:57 +0000 (14:52 +0300)]
Add a FIXME
bors[bot] [Mon, 24 May 2021 11:52:09 +0000 (11:52 +0000)]
Merge #8962
8962: internal: try re-enabling debug info on releases again r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Kirill Bulatov [Mon, 24 May 2021 11:47:20 +0000 (14:47 +0300)]
Small file error display fix
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Mon, 24 May 2021 11:41:31 +0000 (14:41 +0300)]
internal: try re-enabling debug info on releases again
full LTO OOMs the LLVM, lets try thin
cc https://github.com/rust-lang/rust/issues/85598
bors[bot] [Mon, 24 May 2021 08:53:55 +0000 (08:53 +0000)]
Merge #8959
8959: fix: can download server binary on windows again r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Mon, 24 May 2021 08:52:25 +0000 (11:52 +0300)]
fix: can download server binary on windows again
Closes #8956
See https://github.com/rust-analyzer/rust-analyzer/pull/8951#issuecomment-
846716999
bors[bot] [Sun, 23 May 2021 21:55:51 +0000 (21:55 +0000)]
Merge #8945
8945: fix: Make expected type work in more situations r=flodiebold a=flodiebold
Also makes call info show the correct types for generic methods.
![2021-05-23-182952_1134x616_scrot](https://user-images.githubusercontent.com/906069/
119269023 -
dd5a5b00 -bbf5-11eb-993a-
b6e122c3b9a6 .png)
![2021-05-23-183117_922x696_scrot](https://user-images.githubusercontent.com/906069/
119269025 -
dfbcb500 -bbf5-11eb-983c-
fc415b8428e0 .png)
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
Florian Diebold [Sun, 23 May 2021 21:54:35 +0000 (23:54 +0200)]
Get rid of field_type again
bors[bot] [Sun, 23 May 2021 21:17:20 +0000 (21:17 +0000)]
Merge #8953
8953: feat: generate getter avoids generating types like `&Vec<T>` r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sun, 23 May 2021 21:05:14 +0000 (00:05 +0300)]
feat: generate getter avoids generating types like `&Vec<T>`
bors[bot] [Sun, 23 May 2021 21:10:37 +0000 (21:10 +0000)]
Merge #8954
8954: internal: document ItemTree design r=jonas-schievink a=jonas-schievink
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
Jonas Schievink [Sun, 23 May 2021 21:09:38 +0000 (23:09 +0200)]
internal: document ItemTree design
Kirill Bulatov [Sun, 23 May 2021 21:09:24 +0000 (00:09 +0300)]
Don't discover workspaces when detached files are given
bors[bot] [Sun, 23 May 2021 20:48:35 +0000 (20:48 +0000)]
Merge #8948
8948: feat: generate getter assist places the cursor at the generated function r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Kirill Bulatov [Sun, 23 May 2021 20:47:58 +0000 (23:47 +0300)]
Fix ts lint errors
Aleksey Kladov [Sun, 23 May 2021 20:22:38 +0000 (23:22 +0300)]
feat: generate getter assist places the cursor at the generated function
bors[bot] [Sun, 23 May 2021 20:40:39 +0000 (20:40 +0000)]
Merge #8950
8950: minor: align import style with styleguide r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sun, 23 May 2021 20:37:07 +0000 (23:37 +0300)]
minor: align import style with styleguide
Aleksey Kladov [Sun, 23 May 2021 20:32:24 +0000 (23:32 +0300)]
fix: reveal snippets
Kirill Bulatov [Sun, 23 May 2021 20:29:26 +0000 (23:29 +0300)]
Deal with todos
Aleksey Kladov [Sun, 23 May 2021 20:19:00 +0000 (23:19 +0300)]
minimize tests
Aleksey Kladov [Sun, 23 May 2021 20:15:54 +0000 (23:15 +0300)]
remove duplicate tests
Aleksey Kladov [Sun, 23 May 2021 20:13:35 +0000 (23:13 +0300)]
reduce duplication
Kirill Bulatov [Sun, 23 May 2021 20:10:05 +0000 (23:10 +0300)]
Do not add cargo target for detached files only project
Kirill Bulatov [Sun, 23 May 2021 17:56:54 +0000 (20:56 +0300)]
Drag detached files towards loading
Kirill Bulatov [Sun, 23 May 2021 17:32:22 +0000 (20:32 +0300)]
Draft detached files retrieval
Kirill Bulatov [Sun, 23 May 2021 13:22:13 +0000 (16:22 +0300)]
Send detached files info to server via init params
Kirill Bulatov [Sun, 15 Nov 2020 22:19:04 +0000 (00:19 +0200)]
Start rust-analyzer server for arbitrary rust files
bors[bot] [Sun, 23 May 2021 17:37:36 +0000 (17:37 +0000)]
Merge #8947
8947: Correctly resolve crate name in use paths when import shadows it r=Veykril a=Veykril
Fixes #7763
bors r+
Co-authored-by: Lukas Tobias Wirth <lukastw97@gmail.com>
Lukas Tobias Wirth [Sun, 23 May 2021 17:33:28 +0000 (19:33 +0200)]
Correctly resolve crate name in use paths when import shadows itself
bors[bot] [Sun, 23 May 2021 16:51:09 +0000 (16:51 +0000)]
Merge #8946
8946: Minor: fix comment style r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sun, 23 May 2021 16:50:23 +0000 (19:50 +0300)]
Minor: fix comment style
See https://github.com/rust-analyzer/rust-analyzer/blob/master/docs/dev/style.md#documentation
Florian Diebold [Sun, 23 May 2021 16:23:03 +0000 (18:23 +0200)]
Infer correct expected type in closure
Sadly currently only works if the closure body isn't completely missing.
Florian Diebold [Sun, 23 May 2021 16:10:40 +0000 (18:10 +0200)]
Infer correct expected type for generic struct fields
Florian Diebold [Sun, 23 May 2021 14:59:23 +0000 (16:59 +0200)]
Record method call substs and use them in call info
bors[bot] [Sun, 23 May 2021 14:29:18 +0000 (14:29 +0000)]
Merge #8944
8944: minor: explain why nested `TypeRef` aren't interned r=jonas-schievink a=jonas-schievink
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
Jonas Schievink [Sun, 23 May 2021 14:28:23 +0000 (16:28 +0200)]
Explain why nested `TypeRef` aren't interned
bors[bot] [Sun, 23 May 2021 12:40:14 +0000 (12:40 +0000)]
Merge #8940
8940: Give ‘unsafe’ semantic token modifier to unsafe traits r=Veykril a=arzg
Hi! This is my first pull request that touches rust-analyzer itself beyond a search-and-replace, so please tell me if I should change anything or do anything differently. :)
Co-authored-by: Aramis Razzaghipour <aramisnoah@gmail.com>
Aramis Razzaghipour [Sun, 23 May 2021 11:43:23 +0000 (21:43 +1000)]
Give ‘unsafe’ semantic token modifier to unsafe traits
bors[bot] [Sun, 23 May 2021 11:12:45 +0000 (11:12 +0000)]
Merge #8936 #8939
8936: fix: Improve nightly downloads with better local state management r=matklad a=SomeoneToIgnore
When any nightly is downloaded, we store its GitHub release id in the local cache and never invalidate that cache.
Due to this, it was possible to do the following sequence:
* have the nightly locally
* downgrade the extension to any stable version
* observe that despite the `"rust-analyzer.updates.channel": "nightly",` setting, no nightly updates are happening
* on the next day, the actual update happens (given the new nightly is released)
Since it's impossible to install nightly version directly through the VSCode marketplace, any fiddling with dev version results in the same situation: one have to wait for the next nightly release to happen in order to restore the nightly.
This PR
* invalidates the cache eagerly during bootstrap if the current plugin is not nightly
* enforces the release id check for nightly versions only
* fixes the `ctx.globalStoragePath` deprecated API usage
Hopefully, it also helps mysterious non-updated plugins that we encounter from time to time, but hard to tell for sure.
8939: internal: disable debug symbols due to failing windows build r=matklad a=matklad
bors r+
🤖
Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sun, 23 May 2021 11:06:25 +0000 (14:06 +0300)]
internal: disable debug symbols due to failing windows build
See https://github.com/rust-lang/rust/issues/85598
bors[bot] [Sun, 23 May 2021 11:03:18 +0000 (11:03 +0000)]
Merge #8938
8938: internal: Fix #8931 r=flodiebold a=flodiebold
- and add some better checking for similar bugs
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
Florian Diebold [Sun, 23 May 2021 11:00:14 +0000 (13:00 +0200)]
Paper over #8931 a bit more
The problem was the skipping of binders in
`resolve_method_call_as_callable`; this still doesn't use the _correct_
substitution, but at least it doesn't return a type with free variables
in it.
Fixes #8931.
Kirill Bulatov [Sun, 23 May 2021 10:57:04 +0000 (13:57 +0300)]
More style fixes
Florian Diebold [Sun, 23 May 2021 10:52:41 +0000 (12:52 +0200)]
Add test for #8931 and better checking
Kirill Bulatov [Sun, 23 May 2021 10:17:09 +0000 (13:17 +0300)]
Style fix
Kirill Bulatov [Sun, 23 May 2021 08:54:03 +0000 (11:54 +0300)]
Don't use a deprecated accessor
Kirill Bulatov [Sun, 23 May 2021 08:51:35 +0000 (11:51 +0300)]
Better releaseId naming
Kirill Bulatov [Sun, 23 May 2021 08:49:34 +0000 (11:49 +0300)]
Remove nightly release id from local storage for stable extensions
Kirill Bulatov [Sun, 23 May 2021 08:28:06 +0000 (11:28 +0300)]
Download nightly extension when configured and run from stable extension version
bors[bot] [Sun, 23 May 2021 07:33:24 +0000 (07:33 +0000)]
Merge #8935
8935: docs(manual): Add rust-tools.nvim to nvim-lsp r=matklad a=simrat39
I'm not sure what to write there but this seems fine
https://github.com/simrat39/rust-tools.nvim/issues/16
Co-authored-by: sim <simrats169169@gmail.com>
sim [Sun, 23 May 2021 04:17:40 +0000 (21:17 -0700)]
docs(manual): Add rust-tools.nvim to nvim-lsp
bors[bot] [Sun, 23 May 2021 01:00:33 +0000 (01:00 +0000)]
Merge #8932
8932: internal: even prettier itemtrees r=jonas-schievink a=jonas-schievink
Extends the ItemTree pretty printer to handle all `Path`s, and to print generic parameters and where-clauses.
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
Jonas Schievink [Sun, 23 May 2021 00:51:58 +0000 (02:51 +0200)]
Render where clauses and more generic params
Jonas Schievink [Sat, 22 May 2021 23:00:17 +0000 (01:00 +0200)]
Pretty-print generic parameters
Jonas Schievink [Sat, 22 May 2021 22:37:15 +0000 (00:37 +0200)]
ItemTree: pretty-print all paths
bors[bot] [Sat, 22 May 2021 18:35:02 +0000 (18:35 +0000)]
Merge #8926
8926: internal: Drop uncompressed release artifacts and those following the old naming convention r=matklad a=lnicola
Closes #6996
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
bors[bot] [Sat, 22 May 2021 18:21:02 +0000 (18:21 +0000)]
Merge #8927
8927: internal: try enabling debug info for releases r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sat, 22 May 2021 18:19:48 +0000 (21:19 +0300)]
internal: try enabling debug info for releases
We now compress releases, so let's check if debug info is light enough
to actually ship to users. Getting line numbers back would be helpful!
Laurențiu Nicola [Sat, 22 May 2021 17:23:03 +0000 (20:23 +0300)]
Drop uncompressed release artifacts and those following the old naming convention
bors[bot] [Sat, 22 May 2021 14:41:21 +0000 (14:41 +0000)]
Merge #8924
8924: Add last remaining module docstring r=flodiebold a=flodiebold
That was easier than expected.
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
Florian Diebold [Sat, 22 May 2021 14:39:19 +0000 (16:39 +0200)]
Add last remaining module docstring
bors[bot] [Sat, 22 May 2021 14:20:42 +0000 (14:20 +0000)]
Merge #8923
8923: Add even more docs r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sat, 22 May 2021 14:20:22 +0000 (17:20 +0300)]
Add even more docs
bors[bot] [Sat, 22 May 2021 13:54:13 +0000 (13:54 +0000)]
Merge #8922
8922: Add more docs r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sat, 22 May 2021 13:53:47 +0000 (16:53 +0300)]
Add more docs
bors[bot] [Sat, 22 May 2021 13:30:32 +0000 (13:30 +0000)]
Merge #8868
8868: internal: replace AstTransformer with mutable syntax trees r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sat, 22 May 2021 13:23:07 +0000 (16:23 +0300)]
use more precise name
bors[bot] [Sat, 22 May 2021 12:32:12 +0000 (12:32 +0000)]
Merge #8921
8921: Resolve any lifetime variables to 'static after inference r=flodiebold a=flodiebold
Chalk's unification can sometimes create lifetime variables, which we
currently don't really deal with, but at least we don't want to leak
them outside of inference.
Should fix #8919.
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
Aleksey Kladov [Tue, 18 May 2021 11:42:41 +0000 (14:42 +0300)]
internal: replace AstTransformer with mutable syntax trees
Florian Diebold [Sat, 22 May 2021 12:25:58 +0000 (14:25 +0200)]
Resolve any lifetime variables to 'static after inference
Chalk's unification can sometimes create lifetime variables, which we
currently don't really deal with, but at least we don't want to leak
them outside of inference.
Should fix #8919.