]>
git.lizzy.rs Git - rust.git/log
bors[bot] [Wed, 8 Jul 2020 13:55:56 +0000 (13:55 +0000)]
Merge #5263
5263: Fix some clippy perf warnings r=matklad a=kjeremy
Co-authored-by: kjeremy <kjeremy@gmail.com>
kjeremy [Wed, 8 Jul 2020 13:45:29 +0000 (09:45 -0400)]
Clippy perf warnings
bors[bot] [Wed, 8 Jul 2020 12:12:14 +0000 (12:12 +0000)]
Merge #5262
5262: Workaround rollup messing up default imports r=matklad a=Veetaha
Tackles https://github.com/rust-analyzer/rust-analyzer/issues/5257#issuecomment-
655435271
Related: https://github.com/rollup/plugins/issues/491
Co-authored-by: Veetaha <veetaha2@gmail.com>
Veetaha [Wed, 8 Jul 2020 11:47:34 +0000 (14:47 +0300)]
Workaround rollup messing up default imports
bors[bot] [Tue, 7 Jul 2020 21:32:08 +0000 (21:32 +0000)]
Merge #5255
5255: Replace ad hocery with science r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Tue, 7 Jul 2020 20:53:12 +0000 (22:53 +0200)]
Replace ad hocery with science
bors[bot] [Tue, 7 Jul 2020 20:36:18 +0000 (20:36 +0000)]
Merge #4972
4972: Gzip artifacts r=Veetaha a=Veetaha
[Here is the test release](https://github.com/Veetaha/rust-analyzer/releases/tag/2020-06-21)
Change in size: `~ 25 MB -> ~ 8 MB (gzipped)`
The time to gzip during the dist build takes a somewhat considerable amount of time tho.
Having already compiled artifacts this takes in debug mode:
```
~/dev/rust-analyzer (feat/gzip-binaries) $ time cargo xtask dist
Finished dev [unoptimized] target(s) in 0.06s
Running `target/debug/xtask dist`
> cargo build --manifest-path ./crates/rust-analyzer/Cargo.toml --bin rust-analyzer --release
Finished release [optimized] target(s) in 0.05s
> strip ./target/release/rust-analyzer
real 0m34.331s
user 0m34.245s
sys 0m0.078s
```
In release mode this is much faster:
```
~/dev/rust-analyzer (feat/gzip-binaries) $ time cargo run -p xtask --release -- dist
Finished release [optimized] target(s) in 0.04s
Running `target/release/xtask dist`
> cargo build --manifest-path ./crates/rust-analyzer/Cargo.toml --bin rust-analyzer --release
Finished release [optimized] target(s) in 0.06s
> strip ./target/release/rust-analyzer
real 0m2.401s
```
**[UPD]** adding a profile override for `miniz_oxide` does the thing to ensure good performrance
We might need to notify all other ra plugins' maintainers about the change in our GH releases if we merge this PR, or we could leave uncompressed files along with gzipped for a while until everyone migrates.
Co-authored-by: Veetaha <veetaha2@gmail.com>
Veetaha [Sun, 21 Jun 2020 12:58:34 +0000 (15:58 +0300)]
Gzip artifacts
Co-authored-by: bjorn3 <bjorn3@users.noreply.github.com>
Override miniz_oxide to build it with optimizations
Building this crate with optimizations decreases the gzipping
part of `cargo xtask dist` from `30-40s` down to `3s`,
the overhead for `rustc` to apply optimizations is miserable on this background
bors[bot] [Tue, 7 Jul 2020 16:39:04 +0000 (16:39 +0000)]
Merge #5253
5253: Automate rust-analyzer promotion r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Tue, 7 Jul 2020 16:38:34 +0000 (18:38 +0200)]
Automate rust-analyzer promotion
Aleksey Kladov [Tue, 7 Jul 2020 16:12:22 +0000 (18:12 +0200)]
.
bors[bot] [Tue, 7 Jul 2020 15:47:37 +0000 (15:47 +0000)]
Merge #5252
5252: Fix symbol search in salsa r=matklad a=matklad
Previous solution for binning paths into disjoint directories was
simple and fast -- just a single binary search.
Unfortunatelly, it wasn't coorrect: if the ditr are
/d
/d/a
/d/c
then partitioning the file /d/b/lib.rs won't pick /d as a correct
directory.
The correct solution here is a trie, but it requires exposing path
components.
So, we use a poor man's substitution -- a *vector* of sorted paths,
such that each bucket is prefix-free
closes #5246
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Tue, 7 Jul 2020 15:38:02 +0000 (17:38 +0200)]
Fix symbol search in salsa
Previous solution for binning paths into disjoint directories was
simple and fast -- just a single binary search.
Unfortunatelly, it wasn't coorrect: if the ditr are
/d
/d/a
/d/c
then partitioning the file /d/b/lib.rs won't pick /d as a correct
directory.
The correct solution here is a trie, but it requires exposing path
components.
So, we use a poor man's substitution -- a *vector* of sorted paths,
such that each bucket is prefix-free
closes #5246
bors[bot] [Tue, 7 Jul 2020 14:26:54 +0000 (14:26 +0000)]
Merge #5250
5250: :arrow_up: backtrace r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Tue, 7 Jul 2020 14:26:33 +0000 (16:26 +0200)]
:arrow_up: backtrace
Aleksey Kladov [Tue, 7 Jul 2020 14:24:41 +0000 (16:24 +0200)]
Merge pull request #5249 from matklad/ci
check cargo.lock
Aleksey Kladov [Tue, 7 Jul 2020 14:00:38 +0000 (16:00 +0200)]
check cargo.lock
Aleksey Kladov [Tue, 7 Jul 2020 13:48:55 +0000 (15:48 +0200)]
Upstream salsa
bors[bot] [Tue, 7 Jul 2020 13:51:51 +0000 (13:51 +0000)]
Merge #5248
5248: Upstream salsa r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Tue, 7 Jul 2020 13:48:55 +0000 (15:48 +0200)]
Upstream salsa
bors[bot] [Tue, 7 Jul 2020 11:00:04 +0000 (11:00 +0000)]
Merge #5244
5244: Add a command to compute memory usage statistics r=matklad a=jonas-schievink
This allows inspecting memory usage on a live rust-analyzer instance after it has been used interactively.
This will only work with `--features jemalloc`, so maybe it should print something more useful when that's not available? Right now it will just print 0 Bytes for every query.
Co-authored-by: Jonas Schievink <jonas.schievink@ferrous-systems.com>
bors[bot] [Tue, 7 Jul 2020 10:52:54 +0000 (10:52 +0000)]
Merge #5247
5247: Modernize unqualified reference completion tests r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Tue, 7 Jul 2020 10:52:09 +0000 (12:52 +0200)]
Modernize unqualified reference completion tests
bors[bot] [Tue, 7 Jul 2020 10:25:17 +0000 (10:25 +0000)]
Merge #5245
5245: Refactor AssistBuilder to manage a SourceChange r=matklad a=theduke
`AssistBuilder` now managaes a full `SourceChange` instead of a
`Vec<SourceFileEdit>`.
This prepares AssistBuilder to handle creation of new files.
Co-authored-by: Christoph Herzog <chris@theduke.at>
Christoph Herzog [Tue, 7 Jul 2020 10:10:18 +0000 (12:10 +0200)]
Refactor AssistBuilder to manage a SourceChange
`AssistBuilder`` now managaes a full `SourceChange` instead of a
Vec<SourceFileEdit>.
This prepares AssistBuilder to handle creation of new files.
Jonas Schievink [Tue, 7 Jul 2020 10:10:14 +0000 (12:10 +0200)]
Add a command to compute memory usage statistics
Aleksey Kladov [Tue, 7 Jul 2020 09:44:16 +0000 (11:44 +0200)]
cleanup
bors[bot] [Tue, 7 Jul 2020 09:29:52 +0000 (09:29 +0000)]
Merge #5235 #5236 #5241
5235: Don't ping people in PRs r=matklad a=lnicola
5236: Disable ES module interop r=matklad a=lnicola
5241: Clippy perf warnings r=matklad a=kjeremy
Removes redundant clones
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Co-authored-by: kjeremy <kjeremy@gmail.com>
Aleksey Kladov [Tue, 7 Jul 2020 09:23:59 +0000 (11:23 +0200)]
Update docs/dev/README.md
bors[bot] [Tue, 7 Jul 2020 09:22:39 +0000 (09:22 +0000)]
Merge #5243
5243: Consider EPERM error as other vscode processes using rust-analyzer r=matklad a=Veetaha
According to: https://github.com/rust-analyzer/rust-analyzer/issues/5009#issuecomment-
654561497
Co-authored-by: Veetaha <veetaha2@gmail.com>
Veetaha [Tue, 7 Jul 2020 09:09:37 +0000 (12:09 +0300)]
Consider EPERM error as other vscode processes using rust-analyzer
bors[bot] [Tue, 7 Jul 2020 08:15:40 +0000 (08:15 +0000)]
Merge #5242
5242: Switch to fully dynamically dispatched salsa r=matklad a=matklad
This improves compile times quite a bit
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Tue, 7 Jul 2020 08:14:48 +0000 (10:14 +0200)]
Switch to fully dynamically dispatched salsa
This improves compile times quite a bit
kjeremy [Mon, 6 Jul 2020 21:13:55 +0000 (17:13 -0400)]
Clippy perf warnings
Removes redundant clones
bors[bot] [Mon, 6 Jul 2020 17:45:43 +0000 (17:45 +0000)]
Merge #5240
5240: Update crates r=kjeremy a=kjeremy
Co-authored-by: kjeremy <kjeremy@gmail.com>
kjeremy [Mon, 6 Jul 2020 17:44:41 +0000 (13:44 -0400)]
Update crates
bors[bot] [Mon, 6 Jul 2020 15:13:29 +0000 (15:13 +0000)]
Merge #5239
5239: sponsors link r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Mon, 6 Jul 2020 15:13:08 +0000 (17:13 +0200)]
sponsors link
Laurențiu Nicola [Mon, 6 Jul 2020 11:29:19 +0000 (14:29 +0300)]
Disable ES module interop
Laurențiu Nicola [Mon, 6 Jul 2020 10:59:24 +0000 (13:59 +0300)]
Don't ping people in PRs
bors[bot] [Mon, 6 Jul 2020 10:56:22 +0000 (10:56 +0000)]
Merge #5234
5234: Fix: allow for binaries from $PATH to pass validity check r=matklad a=Veetaha
Tackles https://github.com/rust-analyzer/rust-analyzer/pull/5229#issuecomment-
654151387
cc @matklad @lnicola
Apparently `fs.existsSync()` works only with real paths and not with `$PATH` env var
Co-authored-by: Veetaha <veetaha2@gmail.com>
Veetaha [Mon, 6 Jul 2020 10:39:08 +0000 (13:39 +0300)]
Fix: allow for binaries from $PATH to pass validity check
bors[bot] [Mon, 6 Jul 2020 09:46:44 +0000 (09:46 +0000)]
Merge #5233
5233: Update salsa r=jonas-schievink a=jonas-schievink
bors r+
Co-authored-by: Jonas Schievink <jonas.schievink@ferrous-systems.com>
Jonas Schievink [Mon, 6 Jul 2020 09:47:11 +0000 (11:47 +0200)]
Update salsa
bors[bot] [Mon, 6 Jul 2020 07:36:49 +0000 (07:36 +0000)]
Merge #5229
5229: Improve client logging (use output channel and more log levels) r=matklad a=Veetaha
The improvements:
* Separate output channel allows viewing the logs belonging to only our extension (without the intervention of other vscode extensions)
* All the objects in the output channel are always expanded so users only need to `Ctrl + A and Ctrl + C` to copy the entire output to send us and nothing more (e.g. currently users need to expand the object which is not obvious for them and we may lose the logs this way, see two comments: https://github.com/rust-analyzer/rust-analyzer/issues/5009#issuecomment-
651361137
* More log levels allows us to be more granular in disabling only optional verbose debug-level output and leave the logs for us as developers to understand the context of user issues.
* For `log.error(...)` invocations we reveal `Rust Analyzer Client` channel automatically so that users don't have to do any additional actions to get the logs output window visible
Demo:
![image](https://user-images.githubusercontent.com/
36276403 /
86535275 -
d7795f80 -bee7-11ea-8c30-
135c83c1bc7d .png)
Co-authored-by: Veetaha <veetaha2@gmail.com>
bors[bot] [Mon, 6 Jul 2020 07:28:59 +0000 (07:28 +0000)]
Merge #5231
5231: Simplify file watcher r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Mon, 6 Jul 2020 07:28:17 +0000 (09:28 +0200)]
Simplify file watcher
Veetaha [Sun, 5 Jul 2020 18:10:31 +0000 (21:10 +0300)]
Revert "Dispose logger on extension deactivation"
This reverts commit
13872543e074adc153b440660beda441fd562f53 .
That commit was wrong because we use-after-free the logger
Veetaha [Sun, 5 Jul 2020 18:05:38 +0000 (21:05 +0300)]
Dispose logger on extension deactivation
Veetaha [Sun, 5 Jul 2020 14:42:52 +0000 (17:42 +0300)]
Improve client logging (use output channel and more log levels)
bors[bot] [Sun, 5 Jul 2020 09:24:58 +0000 (09:24 +0000)]
Merge #5228
5228: Fix typo r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sun, 5 Jul 2020 09:19:16 +0000 (11:19 +0200)]
Fix typo
bors[bot] [Sun, 5 Jul 2020 09:17:27 +0000 (09:17 +0000)]
Merge #5227
5227: AbsPath r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sun, 5 Jul 2020 09:15:35 +0000 (11:15 +0200)]
AbsPath
bors[bot] [Sat, 4 Jul 2020 21:40:53 +0000 (21:40 +0000)]
Merge #5226
5226: Modernise item completion tests r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sat, 4 Jul 2020 21:22:07 +0000 (23:22 +0200)]
Modernise item completion tests
bors[bot] [Sat, 4 Jul 2020 18:00:17 +0000 (18:00 +0000)]
Merge #4864
4864: Add optional target to crates in json project r=Nashenas88 a=Nashenas88
Lookup default cfgs per target when generating cfg list.
Should fully address #4840
CC @woody77
Co-authored-by: Paul Daniel Faria <Nashenas88@users.noreply.github.com>
Co-authored-by: Paul Daniel Faria <nashenas88@users.noreply.github.com>
Paul Daniel Faria [Sat, 4 Jul 2020 17:50:27 +0000 (13:50 -0400)]
Fallback to target in cfg if not specified in project json config
Paul Daniel Faria [Fri, 12 Jun 2020 17:08:51 +0000 (13:08 -0400)]
Add optional target to crates in json project, lookup default cfgs per target when generating cfg list
bors[bot] [Sat, 4 Jul 2020 17:04:20 +0000 (17:04 +0000)]
Merge #5225
5225: Alight details in comkplation list r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sat, 4 Jul 2020 17:03:58 +0000 (19:03 +0200)]
Alight details in comkplation list
Aleksey Kladov [Sat, 4 Jul 2020 16:53:30 +0000 (18:53 +0200)]
Modernize qual path completion tests
Aleksey Kladov [Sat, 4 Jul 2020 16:03:34 +0000 (18:03 +0200)]
Modernize snippet completion tests
bors[bot] [Sat, 4 Jul 2020 15:17:08 +0000 (15:17 +0000)]
Merge #5223
5223: update deps r=kjeremy a=kjeremy
Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
bors[bot] [Sat, 4 Jul 2020 15:04:57 +0000 (15:04 +0000)]
Merge #5222
5222: Add Item change to the set of benches r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sat, 4 Jul 2020 15:04:33 +0000 (17:04 +0200)]
Add Item change to the set of benches
Aleksey Kladov [Sat, 4 Jul 2020 15:03:02 +0000 (17:03 +0200)]
Fix bench to work with relative paths
Jeremy Kolb [Sat, 4 Jul 2020 14:49:13 +0000 (10:49 -0400)]
update deps
bors[bot] [Sat, 4 Jul 2020 13:44:52 +0000 (13:44 +0000)]
Merge #5221
5221: Modernize postfix completion tests r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sat, 4 Jul 2020 13:35:16 +0000 (15:35 +0200)]
Modernize postfix completion tests
Aleksey Kladov [Sat, 4 Jul 2020 13:10:55 +0000 (15:10 +0200)]
Modernize pattern completion tests
bors[bot] [Sat, 4 Jul 2020 13:06:04 +0000 (13:06 +0000)]
Merge #5220
5220: Fix lookup in tests r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sat, 4 Jul 2020 13:05:33 +0000 (15:05 +0200)]
Fix lookup in tests
Aleksey Kladov [Sat, 4 Jul 2020 13:04:57 +0000 (15:04 +0200)]
Macro tests
Aleksey Kladov [Sat, 4 Jul 2020 12:53:43 +0000 (14:53 +0200)]
Modernize tests
bors[bot] [Sat, 4 Jul 2020 08:42:28 +0000 (08:42 +0000)]
Merge #5219
5219: Cleanup dot completiont tests r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sat, 4 Jul 2020 08:36:12 +0000 (10:36 +0200)]
Cleanup dot completiont tests
Aleksey Kladov [Sat, 4 Jul 2020 08:03:27 +0000 (10:03 +0200)]
Comments
Aleksey Kladov [Sat, 4 Jul 2020 07:53:54 +0000 (09:53 +0200)]
Better tests for completion scoring
Aleksey Kladov [Sat, 4 Jul 2020 07:35:44 +0000 (09:35 +0200)]
Modernize completion presentation tests
Aleksey Kladov [Sat, 4 Jul 2020 07:08:51 +0000 (09:08 +0200)]
Unify naming
Aleksey Kladov [Sat, 4 Jul 2020 07:07:18 +0000 (09:07 +0200)]
Cleanup tests
bors[bot] [Sat, 4 Jul 2020 00:13:11 +0000 (00:13 +0000)]
Merge #5197
5197: SSR internal refactorings r=davidlattimore a=davidlattimore
- Extract error code out to a separate module
- Improve error reporting when a test fails
- Refactor matching code
- Update tests so that all paths in search patterns can be resolved
Co-authored-by: David Lattimore <dml@google.com>
David Lattimore [Fri, 3 Jul 2020 03:04:52 +0000 (13:04 +1000)]
SSR: Update tests so that all paths in patterns can be resolved
David Lattimore [Fri, 3 Jul 2020 03:09:14 +0000 (13:09 +1000)]
SSR: Refactor matching code.
Mutable state is now stored in the enum Phase.
MatchState, since it now has no mutable state is renamed Matcher.
MatchInputs is merged into Matcher
David Lattimore [Fri, 3 Jul 2020 03:15:00 +0000 (13:15 +1000)]
SSR: Improve error reporting when a test fails
David Lattimore [Tue, 23 Jun 2020 12:03:39 +0000 (22:03 +1000)]
SSR: Extract error code out to a separate module
This is to make reusing it outside of parsing easier in a subsequent
change.
bors[bot] [Fri, 3 Jul 2020 22:02:09 +0000 (22:02 +0000)]
Merge #5215
5215: Cleanup more completion tests r=matklad a=matklad
bors r+
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Fri, 3 Jul 2020 21:46:36 +0000 (23:46 +0200)]
Cleanup more completion tests
bors[bot] [Fri, 3 Jul 2020 21:16:38 +0000 (21:16 +0000)]
Merge #5214
5214: Cleanup presentation tests r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Fri, 3 Jul 2020 21:13:22 +0000 (23:13 +0200)]
Cleanup presentation tests
bors[bot] [Fri, 3 Jul 2020 17:32:44 +0000 (17:32 +0000)]
Merge #5213
5213: Add AssistKind::Generate r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Fri, 3 Jul 2020 17:14:42 +0000 (19:14 +0200)]
Add AssistKind::Generate
Aleksey Kladov [Fri, 3 Jul 2020 16:15:03 +0000 (18:15 +0200)]
Unify naming of generating assists
bors[bot] [Fri, 3 Jul 2020 16:55:01 +0000 (16:55 +0000)]
Merge #5212
5212: Fix module renaming r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Fri, 3 Jul 2020 16:45:18 +0000 (18:45 +0200)]
Fix module renaming
bors[bot] [Fri, 3 Jul 2020 16:44:30 +0000 (16:44 +0000)]
Merge #5203
5203: Fix typo in description of vscode setting r=matklad a=Nashenas88
Co-authored-by: Paul Daniel Faria <nashenas88@users.noreply.github.com>
Aleksey Kladov [Fri, 3 Jul 2020 16:39:36 +0000 (18:39 +0200)]
Compress rename tests
Aleksey Kladov [Fri, 3 Jul 2020 16:35:43 +0000 (18:35 +0200)]
Use expect for rename tests
Aleksey Kladov [Fri, 3 Jul 2020 16:29:37 +0000 (18:29 +0200)]
Adhere to code style in rename tests