]>
git.lizzy.rs Git - rust.git/log
bors[bot] [Sun, 13 Jun 2021 17:35:03 +0000 (17:35 +0000)]
Merge #9253
9253: internal: refactor missing or or some diagnostic r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sun, 13 Jun 2021 17:33:59 +0000 (20:33 +0300)]
minor
Aleksey Kladov [Sun, 13 Jun 2021 17:32:54 +0000 (20:32 +0300)]
internal: refactor find_map diagnostic
Aleksey Kladov [Sun, 13 Jun 2021 17:20:58 +0000 (20:20 +0300)]
minor
Aleksey Kladov [Sun, 13 Jun 2021 17:19:11 +0000 (20:19 +0300)]
internal: refactor missing or or some diagnostic
Aleksey Kladov [Sun, 13 Jun 2021 17:13:15 +0000 (20:13 +0300)]
internal: refactor remove this semicolon diagnostics
bors[bot] [Sun, 13 Jun 2021 17:07:04 +0000 (17:07 +0000)]
Merge #9252
9252: internal: refactor mismatched args count diagnostic r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sun, 13 Jun 2021 17:06:25 +0000 (20:06 +0300)]
internal: refactor mismatched args count diagnostic
Aleksey Kladov [Sun, 13 Jun 2021 17:00:27 +0000 (20:00 +0300)]
internal: refactor missing unsafe diagnostic
Aleksey Kladov [Sun, 13 Jun 2021 16:51:19 +0000 (19:51 +0300)]
internal: refactor BreakOutsideOfLoop diagnostic
Aleksey Kladov [Sun, 13 Jun 2021 16:45:16 +0000 (19:45 +0300)]
internal: refactor NoSuchField diagnostic
Aleksey Kladov [Sun, 13 Jun 2021 16:35:30 +0000 (19:35 +0300)]
internal: refactor unimplemented builtin macro diagnostic
bors[bot] [Sun, 13 Jun 2021 16:33:03 +0000 (16:33 +0000)]
Merge #9251
9251: minor: simplify r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sun, 13 Jun 2021 16:27:14 +0000 (19:27 +0300)]
minor: simplify
bors[bot] [Sun, 13 Jun 2021 16:24:35 +0000 (16:24 +0000)]
Merge #9250
9250: internal: check diagnostics in all files and not just the first one r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sun, 13 Jun 2021 16:23:37 +0000 (19:23 +0300)]
internal: check diagnostics in all files and not just the first one
bors[bot] [Sun, 13 Jun 2021 15:46:09 +0000 (15:46 +0000)]
Merge #9249
9249: internal: remove def-level diagnostics tests r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sun, 13 Jun 2021 15:45:38 +0000 (18:45 +0300)]
internal: remove def-level diagnostics tests
Aleksey Kladov [Sun, 13 Jun 2021 15:41:04 +0000 (18:41 +0300)]
internal: refactor macro error
Aleksey Kladov [Sun, 13 Jun 2021 14:51:44 +0000 (17:51 +0300)]
internal: refactor unresolved proc macro diagnostic
Aleksey Kladov [Sun, 13 Jun 2021 14:29:25 +0000 (17:29 +0300)]
internal: refactor inactive code diagnostics
bors[bot] [Sun, 13 Jun 2021 14:09:41 +0000 (14:09 +0000)]
Merge #9248
9248: internal: refactor unresolved macro call diagnostic r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sun, 13 Jun 2021 14:06:36 +0000 (17:06 +0300)]
internal: refactor unresolved macro call diagnostic
Aleksey Kladov [Sun, 13 Jun 2021 13:42:34 +0000 (16:42 +0300)]
internal: refactor unresolved import diagnostic
bors[bot] [Sun, 13 Jun 2021 13:06:27 +0000 (13:06 +0000)]
Merge #9247
9247: internal: refactor unresolved extern crate diagnostic r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sun, 13 Jun 2021 13:05:43 +0000 (16:05 +0300)]
internal: refactor unresolved extern crate diagnostic
bors[bot] [Sun, 13 Jun 2021 12:49:37 +0000 (12:49 +0000)]
Merge #9246
9246: internal: unified missing fields diagnostic r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sun, 13 Jun 2021 12:48:54 +0000 (15:48 +0300)]
internal: unified missing fields diagnostic
Aleksey Kladov [Sun, 13 Jun 2021 12:27:15 +0000 (15:27 +0300)]
internal: move missing_fields diagnostics
bors[bot] [Sun, 13 Jun 2021 11:56:15 +0000 (11:56 +0000)]
Merge #9245
9245: internal: start new diagnostics API r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sun, 13 Jun 2021 11:41:19 +0000 (14:41 +0300)]
internal: start new diagnostics API
At the moment, this moves only a single diagnostic, but the idea is
reafactor the rest to use the same pattern. We are going to have a
single file per diagnostic. This file will define diagnostics code,
rendering range and fixes, if any. It'll also have all of the tests.
This is similar to how we deal with assists.
After we refactor all diagnostics to follow this pattern, we'll probably
move them to a new `ide_diagnostics` crate.
Not that we intentionally want to test all diagnostics on this layer,
despite the fact that they are generally emitted in the guts on the
compiler. Diagnostics care to much about the end presentation
details/fixes to be worth-while "unit" testing. So, we'll unit-test only
the primary output of compilation process (types and name res tables),
and will use integrated UI tests for diagnostics.
bors[bot] [Sun, 13 Jun 2021 11:13:31 +0000 (11:13 +0000)]
Merge #9244
9244: feat: Make block-local trait impls work r=flodiebold a=flodiebold
As long as either the trait or the implementing type are defined in the same block.
CC #8961
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
Florian Diebold [Sun, 13 Jun 2021 11:00:34 +0000 (13:00 +0200)]
Make block-local trait impls work
As long as either the trait or the implementing type are defined in the
same block.
bors[bot] [Sun, 13 Jun 2021 10:13:56 +0000 (10:13 +0000)]
Merge #9243
9243: internal: check that coverage marks are always paired r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sun, 13 Jun 2021 09:33:08 +0000 (12:33 +0300)]
internal: check that coverage marks are always paired
Aleksey Kladov [Sun, 13 Jun 2021 08:49:32 +0000 (11:49 +0300)]
minor: put a mark back
bors[bot] [Sun, 13 Jun 2021 07:18:49 +0000 (07:18 +0000)]
Merge #9242
9242: Clippy r=matklad a=Maan2003
Best viewed commit wise
Co-authored-by: Maan2003 <manmeetmann2003@gmail.com>
bors[bot] [Sun, 13 Jun 2021 06:58:37 +0000 (06:58 +0000)]
Merge #9240
9240: Fixed a small typo in comment r=matklad a=fee1-dead
Co-authored-by: fee1-dead <ent3rm4n@gmail.com>
Maan2003 [Sun, 13 Jun 2021 04:18:15 +0000 (09:48 +0530)]
cargo fmt
Maan2003 [Sun, 13 Jun 2021 04:10:22 +0000 (09:40 +0530)]
clippy::redundant_field_names
Maan2003 [Sun, 13 Jun 2021 04:07:28 +0000 (09:37 +0530)]
clippy::manual_str_repeat
Maan2003 [Sun, 13 Jun 2021 04:05:29 +0000 (09:35 +0530)]
clippy::useless_return
Maan2003 [Sun, 13 Jun 2021 03:59:36 +0000 (09:29 +0530)]
clippy::redundant_closure
Maan2003 [Sun, 13 Jun 2021 03:57:19 +0000 (09:27 +0530)]
clippy::clone_on_copy
Maan2003 [Sun, 13 Jun 2021 03:55:55 +0000 (09:25 +0530)]
clippy::useless_conversion
Maan2003 [Sun, 13 Jun 2021 03:54:16 +0000 (09:24 +0530)]
clippy::redudant_borrow
bors[bot] [Sat, 12 Jun 2021 21:05:12 +0000 (21:05 +0000)]
Merge #9239
9239: fix: Fix coercion in match with expected type r=flodiebold a=flodiebold
Plus add infrastructure to test type mismatches without expect.
CC #8961
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
Florian Diebold [Thu, 3 Jun 2021 21:12:35 +0000 (23:12 +0200)]
Fix coercion in match with expected type
Plus add infrastructure to test type mismatches without expect.
bors[bot] [Sat, 12 Jun 2021 20:42:46 +0000 (20:42 +0000)]
Merge #9238
9238: internal: cross-crate cov-marks r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sat, 12 Jun 2021 20:39:57 +0000 (23:39 +0300)]
internal: cross-crate cov-marks
bors[bot] [Sat, 12 Jun 2021 19:05:58 +0000 (19:05 +0000)]
Merge #9237
9237: internal: move diagnostics infra to hir r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sat, 12 Jun 2021 19:05:23 +0000 (22:05 +0300)]
internal: move diagnostics infra to hir
bors[bot] [Sat, 12 Jun 2021 18:51:42 +0000 (18:51 +0000)]
Merge #9236
9236: Fix some typos in flyimport docs r=SomeoneToIgnore a=SomeoneToIgnore
bors r+
Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
Kirill Bulatov [Sat, 12 Jun 2021 18:51:09 +0000 (21:51 +0300)]
Fix some typos in flyimport docs
bors[bot] [Sat, 12 Jun 2021 18:01:00 +0000 (18:01 +0000)]
Merge #9233
9233: Move some hir_ty diagnostics to hir r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sat, 12 Jun 2021 16:28:19 +0000 (19:28 +0300)]
Move some hir_ty diagnostics to hir
bors[bot] [Sat, 12 Jun 2021 14:50:37 +0000 (14:50 +0000)]
Merge #9231
9231: minor: optimize r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sat, 12 Jun 2021 14:49:41 +0000 (17:49 +0300)]
minor: optimize
We shouldn't be looking at the source map unless we actually have
diagnostics.
Aleksey Kladov [Sat, 12 Jun 2021 14:41:25 +0000 (17:41 +0300)]
minor: reduce visibility
bors[bot] [Sat, 12 Jun 2021 14:40:28 +0000 (14:40 +0000)]
Merge #9230
9230: internal: move inference diagnostics to hir r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sat, 12 Jun 2021 14:39:46 +0000 (17:39 +0300)]
internal: move missing unsafe diagnostic to hir
Aleksey Kladov [Sat, 12 Jun 2021 14:17:23 +0000 (17:17 +0300)]
internal: move inference diagnostics to hir
bors[bot] [Sat, 12 Jun 2021 12:56:58 +0000 (12:56 +0000)]
Merge #9229
9229: minor: squelch "unused" warning r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sat, 12 Jun 2021 12:10:07 +0000 (15:10 +0300)]
minor: squelch "unused" warning
bors[bot] [Fri, 11 Jun 2021 22:00:23 +0000 (22:00 +0000)]
Merge #9204
9204: feat: more accurate memory usage info on glibc Linux r=jonas-schievink a=jonas-schievink
This adds support for the new `mallinfo2` API added in glibc 2.33. It addresses a shortcoming in the `mallinfo` API where it was unable to handle memory usage of more than 2 GB, which we sometimes exceed.
Blocked on https://github.com/rust-lang/libc/pull/2228
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
Jonas Schievink [Fri, 11 Jun 2021 21:55:27 +0000 (23:55 +0200)]
Update libc
bors[bot] [Fri, 11 Jun 2021 21:13:28 +0000 (21:13 +0000)]
Merge #9223
9223: Complete associated types in dyn and impl trait r=Veykril a=Veykril
Fixes #9222
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Lukas Wirth [Fri, 11 Jun 2021 21:12:30 +0000 (23:12 +0200)]
Complete associated types in dyn and impl trait
bors[bot] [Fri, 11 Jun 2021 19:20:24 +0000 (19:20 +0000)]
Merge #9221
9221: fix: Highlight tuple field accesses correctly r=Veykril a=Veykril
Fixes #9220
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Lukas Wirth [Fri, 11 Jun 2021 19:19:19 +0000 (21:19 +0200)]
Highlight tuple field accesses correctly
bors[bot] [Fri, 11 Jun 2021 17:56:00 +0000 (17:56 +0000)]
Merge #9219
9219: minor: Replace some AssocItem::containing_trait calls trait_or_trait_impl r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Lukas Wirth [Fri, 11 Jun 2021 17:55:24 +0000 (19:55 +0200)]
Replace some AssocItem::containing_trait calls trait_or_trait_impl
bors[bot] [Fri, 11 Jun 2021 17:33:34 +0000 (17:33 +0000)]
Merge #9218
9218: Item search now respects trait impl items r=Veykril a=Veykril
Fixes #2977
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Lukas Wirth [Fri, 11 Jun 2021 17:23:59 +0000 (19:23 +0200)]
Item search now respects trait impl items
bors[bot] [Fri, 11 Jun 2021 16:35:38 +0000 (16:35 +0000)]
Merge #9217
9217: internal: Don't stringify and reparse `cfg_attr`-gated attributes r=jonas-schievink a=jonas-schievink
Bumps ungrammar to include https://github.com/rust-analyzer/ungrammar/pull/33
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
Jonas Schievink [Fri, 11 Jun 2021 16:20:15 +0000 (18:20 +0200)]
Don't stringify `cfg_attr`-gated attributes
This preserves the assigned `TokenId`s
Jonas Schievink [Fri, 11 Jun 2021 16:12:51 +0000 (18:12 +0200)]
Update ungrammar
bors[bot] [Fri, 11 Jun 2021 16:27:42 +0000 (16:27 +0000)]
Merge #9216
9216: fix: Don't allow lookup by self for unprefixed self access completions r=Veykril a=Veykril
Fixes #9211
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Lukas Wirth [Fri, 11 Jun 2021 16:26:52 +0000 (18:26 +0200)]
Don't allow lookup by self for unprefixed self access completions
bors[bot] [Fri, 11 Jun 2021 14:10:22 +0000 (14:10 +0000)]
Merge #9215
9215: change visibility for use and macro items r=jonas-schievink a=Maan2003
Co-authored-by: Maan2003 <manmeetmann2003@gmail.com>
fee1-dead [Fri, 11 Jun 2021 14:01:34 +0000 (22:01 +0800)]
Fixed a small typo in comment
Maan2003 [Fri, 11 Jun 2021 13:40:56 +0000 (19:10 +0530)]
change visibility for use and macro items
bors[bot] [Fri, 11 Jun 2021 10:44:07 +0000 (10:44 +0000)]
Merge #9192
9192: internal: Build test-macros in a build script r=jonas-schievink a=jonas-schievink
This build the test-proc-macros in `proc_macro_test` in a build script, and copies the artifact to `OUT_DIR`. This should make it available throughout all of rust-analyzer at no cost other than depending on `proc_macro_test`, fixing https://github.com/rust-analyzer/rust-analyzer/issues/9067.
This hopefully will let us later write inline tests that utilize proc macros, which makes my life fixing proc macro bugs easier.
Opening this as a sort of RFC, because I'm not totally sure this approach is the best.
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
bors[bot] [Fri, 11 Jun 2021 10:05:28 +0000 (10:05 +0000)]
Merge #9209
9209: Don't suggest Remove unused param in trait impls r=Veykril a=Maan2003
See the added test for description
Co-authored-by: Maan2003 <manmeetmann2003@gmail.com>
Maan2003 [Fri, 11 Jun 2021 06:54:56 +0000 (12:24 +0530)]
Don't suggest Remove unused param in trait impls
bors[bot] [Fri, 11 Jun 2021 06:28:32 +0000 (06:28 +0000)]
Merge #9208
9208: minor: Populate import maps eagerly to speed up flyimports r=SomeoneToIgnore a=SomeoneToIgnore
Part of #7542
Follow up of https://github.com/rust-analyzer/rust-analyzer/pull/9206#issuecomment-
859097783
Reduces `import_on_the_fly @ sel` case in the `integrated_completion_benchmark` by ~300ms.
Also enables cache priming for manual workspace loading to reflect the results in the benchmarks.
Before:
<img width="1198" alt="image" src="https://user-images.githubusercontent.com/
2690773 /
121606148 -
4a734a80 -ca56-11eb-812a-
7955e93817f1 .png">
After:
<img width="1200" alt="image" src="https://user-images.githubusercontent.com/
2690773 /
121606156 -
4e06d180 -ca56-11eb-891b-
1ed878b53d7e .png">
Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
Kirill Bulatov [Fri, 11 Jun 2021 06:27:25 +0000 (09:27 +0300)]
Only prefill caches in the completion benchmark
Kirill Bulatov [Thu, 10 Jun 2021 22:48:15 +0000 (01:48 +0300)]
Fix visibility issues
Kirill Bulatov [Thu, 10 Jun 2021 22:35:14 +0000 (01:35 +0300)]
Prime caches on workspace load
Kirill Bulatov [Thu, 10 Jun 2021 22:27:20 +0000 (01:27 +0300)]
Populate import maps eagerly
bors[bot] [Thu, 10 Jun 2021 21:28:14 +0000 (21:28 +0000)]
Merge #9206
9206: minor: Speed up fst items lookup during completions r=SomeoneToIgnore a=SomeoneToIgnore
Part of https://github.com/rust-analyzer/rust-analyzer/issues/7542
A number of profile calls added for `import_on_the_fly` contents.
Before:
<img width="606" alt="Screenshot 2021-06-11 at 00 19 13" src="https://user-images.githubusercontent.com/
2690773 /
121598998 -
22321e80 -ca4b-11eb-9a3d-
dc9cb2936705 .png">
After:
<img width="859" alt="Screenshot 2021-06-11 at 00 19 27" src="https://user-images.githubusercontent.com/
2690773 /
121599022 -
2a8a5980 -ca4b-11eb-82b6-
13ab0ed56d58 .png">
As a result, low hanging fruit was spotted: crazy amount of `fst_path` calls. Reducing that won ~200ms in the `import_on_the_fly @ sel` case in the `integrated_completion_benchmark`:
<img width="861" alt="Screenshot 2021-06-11 at 00 19 38" src="https://user-images.githubusercontent.com/
2690773 /
121599277 -
7d641100 -ca4b-11eb-8667-
53206994de27 .png">
I'm not sure how to proceed with the remaining `???` marks in such methods as `collect_import_map` though: there's nothing but library calls in cycles, but maybe I'll come up with something later.
Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
Kirill Bulatov [Thu, 10 Jun 2021 21:10:09 +0000 (00:10 +0300)]
Reduce fst_path calls
Kirill Bulatov [Thu, 10 Jun 2021 20:03:16 +0000 (23:03 +0300)]
Add more profiling for flyimports
Jonas Schievink [Thu, 10 Jun 2021 12:58:52 +0000 (14:58 +0200)]
Add support for mallinfo2 on glibc Linux
bors[bot] [Thu, 10 Jun 2021 12:09:54 +0000 (12:09 +0000)]
Merge #9202
9202: feat: Make `MemoryUsage` work on Windows r=jonas-schievink a=jonas-schievink
Unfortunately there is no convenient API for heap statistics, so this instead uses the Commit Charge value, which is the amount of memory that needs to be allocated either in physical RAM or in the page file. This approximation seems to be good enough to find queries that waste a large amount of memory, but it should generally be expected to be off by several MB.
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
Jonas Schievink [Wed, 9 Jun 2021 20:55:50 +0000 (22:55 +0200)]
Make `MemoryUsage` work on Windows
bors[bot] [Wed, 9 Jun 2021 22:27:07 +0000 (22:27 +0000)]
Merge #9196
9196: fix: Don't classify attributes on macro-calls are the macro itself r=Veykril a=Veykril
Fixes #9184
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Lukas Wirth [Wed, 9 Jun 2021 22:25:36 +0000 (00:25 +0200)]
Don't classify attributes on macro-calls are the macro itself
bors[bot] [Wed, 9 Jun 2021 21:45:35 +0000 (21:45 +0000)]
Merge #9195
9195: minor: Simplify r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Lukas Wirth [Wed, 9 Jun 2021 21:43:22 +0000 (23:43 +0200)]
Simplify