]>
git.lizzy.rs Git - rust.git/log
Aleksey Kladov [Sun, 29 Dec 2019 14:07:53 +0000 (15:07 +0100)]
Reduce visibility
bors[bot] [Sun, 29 Dec 2019 12:57:24 +0000 (12:57 +0000)]
Merge #2668
2668: In-server cargo check watching r=matklad a=kiljacken
Opening a draft now so people can follow the progress, and comment if they spot something stupid.
Things that need doing:
- [x] Running cargo check on save
- [x] Pipe through configuration options from client
- [x] Tests for parsing behavior
- [x] Remove existing cargo watch support from VSCode extension
- [x] Progress notification in VSCode extension using LSP 3.15 `$/progress` notification
- [ ] ~~Rework ra-ide diagnostics to support secondary messages~~
- [ ] ~~Make cargo-check watcher use ra-ide diagnostics~~
~~I'd love some input on whether to try to keep the status bar progress thingy for VSCode? It will require some plumbing, and maintaining yet another rust-analyzer specific LSP notification, which I'm not sure we want to.~~
Fixes #1894
Co-authored-by: Emil Lauridsen <mine809@gmail.com>
bors[bot] [Sun, 29 Dec 2019 12:24:19 +0000 (12:24 +0000)]
Merge #2667
2667: Visibility r=matklad a=flodiebold
This adds the infrastructure for handling visibility (for fields and methods, not in name resolution) in the HIR and code model, and as a first application hides struct fields from completions if they're not visible from the current module. (We might want to relax this again later, but I think it's ok for now?)
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
Emil Lauridsen [Fri, 27 Dec 2019 16:29:02 +0000 (17:29 +0100)]
Fix busy-waiting issue in main cargo watch thread
bors[bot] [Fri, 27 Dec 2019 15:52:19 +0000 (15:52 +0000)]
Merge #2671
2671: anyhow and crossbeam-queue r=kjeremy a=kjeremy
Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
Jeremy Kolb [Fri, 27 Dec 2019 15:51:30 +0000 (10:51 -0500)]
anyhow and crossbeam-queue
Emil Lauridsen [Fri, 27 Dec 2019 11:43:14 +0000 (12:43 +0100)]
Don't finish main cargo watch thread when subprocess finishes.
Emil Lauridsen [Fri, 27 Dec 2019 11:42:18 +0000 (12:42 +0100)]
Fix shutdown behavoir of main cargo-watch thread.
Even though this didn't error, it became clear to me that it was closing
the wrong channel, resulting in the child thread never finishing.
Emil Lauridsen [Fri, 27 Dec 2019 10:57:00 +0000 (11:57 +0100)]
Add doc comment to module
Emil Lauridsen [Fri, 27 Dec 2019 10:47:09 +0000 (11:47 +0100)]
Cargo fmt run
Emil Lauridsen [Fri, 27 Dec 2019 10:43:05 +0000 (11:43 +0100)]
Shutdown/cancelation story for main cargo watch thread
Emil Lauridsen [Fri, 27 Dec 2019 10:31:25 +0000 (11:31 +0100)]
Consistent, hopefully robust, shutdown/cancelation story for cargo check subprocess
Florian Diebold [Fri, 27 Dec 2019 10:24:31 +0000 (11:24 +0100)]
visible_from -> is_visible_from
bors[bot] [Fri, 27 Dec 2019 10:10:07 +0000 (10:10 +0000)]
Merge #2657
2657: Omit closure parameters in closure type display strings r=flodiebold a=SomeoneToIgnore
Part of https://github.com/rust-analyzer/rust-analyzer/issues/1946
I wonder, should we display the the closure trait (Fn/FnMut/FnOnce) in inlay hints instead of `|...|` at all?
Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
Emil Lauridsen [Fri, 27 Dec 2019 10:10:07 +0000 (11:10 +0100)]
Move cargo watch functionality to separate crate
Florian Diebold [Thu, 26 Dec 2019 15:42:57 +0000 (16:42 +0100)]
Remove Arc from RawVisibility
Now that it's not used as a direct query return value anymore, it doesn't need
to be cheaply cloneable anymore.
Florian Diebold [Thu, 26 Dec 2019 15:31:38 +0000 (16:31 +0100)]
Fix cross-crate glob privacy handling
Florian Diebold [Thu, 26 Dec 2019 15:22:15 +0000 (16:22 +0100)]
Remove visibility query, instead add struct field visibility to data
Methods should be handled the same, and for items the visibility will be in the
def map.
Florian Diebold [Thu, 26 Dec 2019 15:00:10 +0000 (16:00 +0100)]
Rename ResolvedVisibility -> Visibility
Florian Diebold [Thu, 26 Dec 2019 14:57:14 +0000 (15:57 +0100)]
Rename Visibility -> RawVisibility
Florian Diebold [Thu, 26 Dec 2019 14:49:13 +0000 (15:49 +0100)]
Handle privacy for modules
Florian Diebold [Wed, 25 Dec 2019 17:33:56 +0000 (18:33 +0100)]
Check for `todo!` macros in no_todo
Florian Diebold [Wed, 25 Dec 2019 17:05:16 +0000 (18:05 +0100)]
Take visibility into account for glob imports
Florian Diebold [Wed, 25 Dec 2019 14:00:10 +0000 (15:00 +0100)]
Keep track of visibility during def collection
Florian Diebold [Tue, 24 Dec 2019 22:45:14 +0000 (23:45 +0100)]
Collect visibility of items during nameres
Florian Diebold [Tue, 24 Dec 2019 21:11:50 +0000 (22:11 +0100)]
Add doc comment
Florian Diebold [Tue, 24 Dec 2019 21:10:44 +0000 (22:10 +0100)]
Make enum variant fields public
Florian Diebold [Tue, 24 Dec 2019 20:46:07 +0000 (21:46 +0100)]
Hide completions for private struct fields
Florian Diebold [Tue, 24 Dec 2019 20:45:58 +0000 (21:45 +0100)]
Add visibility in code model for fields
Florian Diebold [Tue, 24 Dec 2019 20:23:22 +0000 (21:23 +0100)]
Add logic for resolving and checking visibility
Florian Diebold [Tue, 24 Dec 2019 19:32:42 +0000 (20:32 +0100)]
Add infrastructure for visibility on syntax and hir_def level
bors[bot] [Wed, 25 Dec 2019 20:26:08 +0000 (20:26 +0000)]
Merge #2658
2658: Only add features flags if non-empty r=matklad a=edwin0cheng
This prevent error when disabled `all-features` in a cargo workspace, because of `--features is not allowed in the root of a virtual workspace` when running `cargo metadata`.
Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
bors[bot] [Wed, 25 Dec 2019 19:26:18 +0000 (19:26 +0000)]
Merge #2663
2663: Fill in type params in 'add missing impl members' assist r=flodiebold a=flodiebold
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
Emil Lauridsen [Wed, 25 Dec 2019 19:23:44 +0000 (20:23 +0100)]
Keep VSCode config mostly backwards compatible
Emil Lauridsen [Wed, 25 Dec 2019 18:56:07 +0000 (19:56 +0100)]
Some documentatioN
Emil Lauridsen [Wed, 25 Dec 2019 18:17:54 +0000 (19:17 +0100)]
Actually respect disabling cargo check functionality
Emil Lauridsen [Wed, 25 Dec 2019 18:10:45 +0000 (19:10 +0100)]
Re-format ra_lsp_server changes
Emil Lauridsen [Wed, 25 Dec 2019 18:10:30 +0000 (19:10 +0100)]
Re-format VSCode extension changes
Emil Lauridsen [Wed, 25 Dec 2019 18:08:44 +0000 (19:08 +0100)]
Re-implement status display using LSP 3.15 progress event
Emil Lauridsen [Wed, 25 Dec 2019 16:34:51 +0000 (17:34 +0100)]
Remove cargo watch supporting code and tests from vscode extension
Emil Lauridsen [Wed, 25 Dec 2019 16:31:49 +0000 (17:31 +0100)]
Migrate tests from extension to rust
Emil Lauridsen [Wed, 25 Dec 2019 16:14:20 +0000 (17:14 +0100)]
Fix use of wrong message in diagnostic
Emil Lauridsen [Wed, 25 Dec 2019 15:50:38 +0000 (16:50 +0100)]
Configuration plumbing for cargo watcher
Emil Lauridsen [Wed, 25 Dec 2019 15:44:42 +0000 (16:44 +0100)]
Remove cargo-watch from vscode extension.
Still keeps tests around for reference when porting them to rust
Emil Lauridsen [Wed, 25 Dec 2019 11:21:38 +0000 (12:21 +0100)]
Initial implementation of cargo check watching
bors[bot] [Wed, 25 Dec 2019 00:14:51 +0000 (00:14 +0000)]
Merge #2662
2662: Notify that latest version of VS Code is required r=matklad a=spebern
Suggested in #2660.
Co-authored-by: bold <bold@cryptoguru.com>
Florian Diebold [Tue, 24 Dec 2019 15:44:32 +0000 (16:44 +0100)]
Fill in type params in 'add missing impl members' assist
bors[bot] [Tue, 24 Dec 2019 16:28:46 +0000 (16:28 +0000)]
Merge #2661
2661: Implement infer await from async function r=flodiebold a=edwin0cheng
This PR is my attempt for trying to add support for infer `.await` expression from an `async` function, by desugaring its return type to `Impl Future<Output=RetType>`.
Note that I don't know it is supposed to desugaring it in that phase, if it is not suitable in current design, just feel free to reject it :)
r=@flodiebold
Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
Edwin Cheng [Tue, 24 Dec 2019 16:25:18 +0000 (00:25 +0800)]
Remove AsyncOwner
Edwin Cheng [Tue, 24 Dec 2019 15:39:44 +0000 (23:39 +0800)]
Check if parameters is empty
Edwin Cheng [Tue, 24 Dec 2019 15:39:17 +0000 (23:39 +0800)]
Add FIXME
Edwin Cheng [Tue, 24 Dec 2019 11:52:48 +0000 (19:52 +0800)]
Formatting
bold [Tue, 24 Dec 2019 12:04:42 +0000 (20:04 +0800)]
Notify that latest version of VS Code is required
Edwin Cheng [Tue, 24 Dec 2019 11:45:28 +0000 (19:45 +0800)]
Implement infer await from async func
bors[bot] [Mon, 23 Dec 2019 23:47:32 +0000 (23:47 +0000)]
Merge #2659
2659: Update lsp-types and rayon r=kjeremy a=kjeremy
Brings in https://github.com/gluon-lang/lsp-types/pull/129 for https://github.com/rust-analyzer/rust-analyzer/issues/2651#issuecomment-
568554427
Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
Jeremy Kolb [Mon, 23 Dec 2019 23:46:04 +0000 (18:46 -0500)]
Update lsp-types and rayon
Kirill Bulatov [Mon, 23 Dec 2019 15:53:35 +0000 (17:53 +0200)]
Omit closure parameters
Edwin Cheng [Mon, 23 Dec 2019 16:27:48 +0000 (00:27 +0800)]
Only add features flags if non-empty
bors[bot] [Mon, 23 Dec 2019 14:38:59 +0000 (14:38 +0000)]
Merge #2655
2655: lsp-types 0.67 r=matklad a=kjeremy
Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
Jeremy Kolb [Mon, 23 Dec 2019 14:33:49 +0000 (09:33 -0500)]
lsp-types 0.67
bors[bot] [Mon, 23 Dec 2019 10:58:06 +0000 (10:58 +0000)]
Merge #2636
2636: Chalk update and refactoring r=flodiebold a=flodiebold
This updates the Chalk integration to https://github.com/rust-lang/chalk/pull/311, which will presumably get merged soon, and refactors it some more, most notably introducing our own `TypeFamily` instead of reusing `ChalkIr`. It's still mostly the same as `ChalkIr` though, except for using Salsa `InternId`s directly.
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
bors[bot] [Mon, 23 Dec 2019 10:19:32 +0000 (10:19 +0000)]
Merge #2652
2652: Bump lsp-types to 0.66.0 (fixes #2651) r=matklad a=udoprog
Co-authored-by: John-John Tedro <udoprog@tedro.se>
John-John Tedro [Mon, 23 Dec 2019 10:02:54 +0000 (11:02 +0100)]
Bump lsp-types to 0.66.0 (fixes #2651)
Florian Diebold [Sat, 21 Dec 2019 18:15:06 +0000 (19:15 +0100)]
Filter out error predicates in type bounds as well
Florian Diebold [Sat, 21 Dec 2019 14:00:44 +0000 (15:00 +0100)]
Introduce our own Chalk TypeFamily, instead of using ChalkIr
It's not very different, except we can directly use Salsa IDs instead of casting
them. This means we need to refactor the handling of errors to get rid of
UNKNOWN_TRAIT though.
Florian Diebold [Sat, 21 Dec 2019 13:46:15 +0000 (14:46 +0100)]
Refactor Chalk integration some more
Florian Diebold [Sat, 21 Dec 2019 13:29:33 +0000 (14:29 +0100)]
Update Chalk, clean up Chalk integration a bit
bors[bot] [Sun, 22 Dec 2019 21:42:54 +0000 (21:42 +0000)]
Merge #2648
2648: Rudimentary name resolution for local items r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sun, 22 Dec 2019 19:12:23 +0000 (20:12 +0100)]
Rudimentary name resolution for local items
Aleksey Kladov [Sun, 22 Dec 2019 18:32:35 +0000 (19:32 +0100)]
Simplify
Aleksey Kladov [Sun, 22 Dec 2019 18:31:01 +0000 (19:31 +0100)]
Refactor
bors[bot] [Sun, 22 Dec 2019 14:57:34 +0000 (14:57 +0000)]
Merge #2646
2646: Share impl Scope between modules and blocks r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sun, 22 Dec 2019 14:49:39 +0000 (15:49 +0100)]
Share impl Scope between modules and blocks
bors[bot] [Sun, 22 Dec 2019 14:43:15 +0000 (14:43 +0000)]
Merge #2645
2645: Simplify r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sun, 22 Dec 2019 14:37:07 +0000 (15:37 +0100)]
Simplify
Aleksey Kladov [Sun, 22 Dec 2019 14:31:30 +0000 (15:31 +0100)]
Remove unused parameters
Aleksey Kladov [Sun, 22 Dec 2019 14:28:55 +0000 (15:28 +0100)]
Remove import field
Aleksey Kladov [Sun, 22 Dec 2019 14:21:48 +0000 (15:21 +0100)]
Separate defs from imports
Aleksey Kladov [Sun, 22 Dec 2019 14:08:57 +0000 (15:08 +0100)]
Refactor PerNs construction
Aleksey Kladov [Sun, 22 Dec 2019 14:04:31 +0000 (15:04 +0100)]
Minor rename
bors[bot] [Sun, 22 Dec 2019 13:48:43 +0000 (13:48 +0000)]
Merge #2644
2644: More compact profiling display r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sun, 22 Dec 2019 13:17:31 +0000 (14:17 +0100)]
More compact profiling display
bors[bot] [Sun, 22 Dec 2019 13:07:33 +0000 (13:07 +0000)]
Merge #2643
2643: Don't fire no-op changes after files are saved to disk r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sun, 22 Dec 2019 12:56:19 +0000 (13:56 +0100)]
Don't fire no-op changes after files are saved to disk
bors[bot] [Sun, 22 Dec 2019 08:05:02 +0000 (08:05 +0000)]
Merge #2642
2642: Use name instead of ident in parser for macro 2.0 syntax r=matklad a=edwin0cheng
Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
bors[bot] [Sun, 22 Dec 2019 07:56:33 +0000 (07:56 +0000)]
Merge #2641
2641: Parse const generics r=matklad a=roblabla
Adds very primitive support for parsing const generics (`const IDENT: TY`) so that rust-analyzer stops complaining about the syntax being invalid.
Fixes #1574
Fixes #2281
Co-authored-by: roblabla <unfiltered@roblab.la>
Edwin Cheng [Sun, 22 Dec 2019 03:11:10 +0000 (11:11 +0800)]
Use name instead of ident for macro 2.0 sytnax
roblabla [Sun, 22 Dec 2019 00:38:23 +0000 (00:38 +0000)]
Parse const generics
Fixes #1574
Fixes #2281
bors[bot] [Sat, 21 Dec 2019 20:53:34 +0000 (20:53 +0000)]
Merge #2640
2640: Add some module docs r=kjeremy a=kjeremy
Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
Jeremy Kolb [Sat, 21 Dec 2019 20:27:38 +0000 (15:27 -0500)]
Add some module docs
bors[bot] [Sat, 21 Dec 2019 18:44:51 +0000 (18:44 +0000)]
Merge #2638
2638: More profiling r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sat, 21 Dec 2019 18:40:20 +0000 (19:40 +0100)]
More profiling
bors[bot] [Sat, 21 Dec 2019 17:46:52 +0000 (17:46 +0000)]
Merge #2637
2637: Optimize and profile r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sat, 21 Dec 2019 17:45:46 +0000 (18:45 +0100)]
Optimize and profile
bors[bot] [Sat, 21 Dec 2019 16:35:21 +0000 (16:35 +0000)]
Merge #2635
2635: Remove import source map r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sat, 21 Dec 2019 16:34:28 +0000 (17:34 +0100)]
Move LocalImportId
Aleksey Kladov [Sat, 21 Dec 2019 16:26:05 +0000 (17:26 +0100)]
Remove import source map
Aleksey Kladov [Sat, 21 Dec 2019 16:22:48 +0000 (17:22 +0100)]
Remove import from resolution
bors[bot] [Sat, 21 Dec 2019 15:56:04 +0000 (15:56 +0000)]
Merge #2634
2634: Update crates r=matklad a=kjeremy
Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
Jeremy Kolb [Sat, 21 Dec 2019 15:44:02 +0000 (10:44 -0500)]
Update crates