]> git.lizzy.rs Git - rust.git/log
rust.git
3 years agominor: expand docs a tiny bit
Aleksey Kladov [Mon, 31 May 2021 14:27:27 +0000 (17:27 +0300)]
minor: expand docs a tiny bit

3 years agoMerge #9079
bors[bot] [Mon, 31 May 2021 13:38:32 +0000 (13:38 +0000)]
Merge #9079

9079: Don't take the parent kind of trailing attributes in attr completion r=Veykril a=Veykril

bors r+
fixes https://github.com/rust-analyzer/rust-analyzer/issues/9076

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
3 years agoDon't take the parent kind of trailing attributes in attr completion
Lukas Wirth [Mon, 31 May 2021 13:35:22 +0000 (15:35 +0200)]
Don't take the parent kind of trailing attributes in attr completion

3 years agoMerge #9039
bors[bot] [Mon, 31 May 2021 13:21:31 +0000 (13:21 +0000)]
Merge #9039

9039: feat: Complete fields and methods with `self.` prefixed when inside methods r=matklad a=Veykril

![w65NbjkZiG](https://user-images.githubusercontent.com/3757771/119984385-a0111700-bfc1-11eb-9dbf-52fdaa4d72b5.gif)
Closes #7173

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
3 years agoAdd config setting for self-on-the-fly
Lukas Wirth [Sun, 30 May 2021 14:41:33 +0000 (16:41 +0200)]
Add config setting for self-on-the-fly

3 years agoMove unprefixed field/method completion to `dot`
Lukas Wirth [Fri, 28 May 2021 13:09:10 +0000 (15:09 +0200)]
Move unprefixed field/method completion to `dot`

3 years agoLess strings, more hir::Names
Lukas Wirth [Fri, 28 May 2021 12:38:09 +0000 (14:38 +0200)]
Less strings, more hir::Names

3 years agoComplete `self.` prefixed fields and methods inside methods
Lukas Wirth [Fri, 28 May 2021 12:02:53 +0000 (14:02 +0200)]
Complete `self.` prefixed fields and methods inside methods

3 years agoMerge #8866
bors[bot] [Mon, 31 May 2021 12:42:32 +0000 (12:42 +0000)]
Merge #8866

8866: Update salsa r=matklad a=jonas-schievink

This updates salsa to include https://github.com/salsa-rs/salsa/pull/265, and removes all cancellation-related code from rust-analyzer

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
3 years agoMerge #9060
bors[bot] [Mon, 31 May 2021 12:34:01 +0000 (12:34 +0000)]
Merge #9060

9060: feat: Diagnose unimplemented built-in macros r=matklad a=jonas-schievink

A number of built-in attribute macros are unsupported, I thought it might be useful to put a diagnostic on their definition in libcore. Not sure.

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
3 years agoMerge #9077
bors[bot] [Mon, 31 May 2021 12:16:44 +0000 (12:16 +0000)]
Merge #9077

9077: internal: Use `Name`s instead of Strings in the completion rendering api r=Veykril a=Veykril

bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
3 years agoUse `Name`s instead of Strings in the completion rendering api
Lukas Wirth [Mon, 31 May 2021 12:13:09 +0000 (14:13 +0200)]
Use `Name`s instead of Strings in the completion rendering api

3 years agoMerge #9025
bors[bot] [Mon, 31 May 2021 08:20:28 +0000 (08:20 +0000)]
Merge #9025

9025: internal: Display unknown types in `analysis-stats` r=flodiebold a=lnicola

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
3 years agoMerge #9072
bors[bot] [Mon, 31 May 2021 07:20:18 +0000 (07:20 +0000)]
Merge #9072

9072: minor: reenable incremental test builds r=lnicola a=iDawer

Co-authored-by: Dawer <7803845+iDawer@users.noreply.github.com>
3 years agominor: reenable incremental test builds
Dawer [Mon, 31 May 2021 07:15:40 +0000 (12:15 +0500)]
minor: reenable incremental test builds

3 years agoMerge #9071
bors[bot] [Sun, 30 May 2021 23:52:53 +0000 (23:52 +0000)]
Merge #9071

9071: minor: reenable incremental release builds r=jonas-schievink a=jonas-schievink

forgot to turn this back on in https://github.com/rust-analyzer/rust-analyzer/pull/9069

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
3 years agoreenable incremental release builds
Jonas Schievink [Sun, 30 May 2021 23:12:11 +0000 (01:12 +0200)]
reenable incremental release builds

3 years agoMerge #9069
bors[bot] [Sun, 30 May 2021 21:48:43 +0000 (21:48 +0000)]
Merge #9069

9069: minor: Don't force-disable incremental r=jonas-schievink a=jonas-schievink

1.52.1 turns incremental off regardless of this setting, so this is unnecessary. Removing this allow manually overriding Cargo to enable incremental.

bors r+

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
3 years agoDon't force-disable incremental
Jonas Schievink [Sun, 30 May 2021 21:46:39 +0000 (23:46 +0200)]
Don't force-disable incremental

3 years agoMerge #9068
bors[bot] [Sun, 30 May 2021 19:37:29 +0000 (19:37 +0000)]
Merge #9068

9068: Move more `CompletinoContext` fields to `ImmediateLocation` r=Veykril a=Veykril

bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
3 years agoMove more fields to `ImmediateLocation`
Lukas Wirth [Sun, 30 May 2021 19:23:42 +0000 (21:23 +0200)]
Move more fields to `ImmediateLocation`

3 years agoMerge #9065
bors[bot] [Sun, 30 May 2021 17:28:52 +0000 (17:28 +0000)]
Merge #9065

9065: hir_ty: don't pass where clauses of associated types down to chalk r=cynecx a=cynecx

See #9052.

Co-authored-by: cynecx <me@cynecx.net>
3 years agohir_ty: don't pass where clauses of associated types down to chalk (temp. fix #9052)
cynecx [Sun, 30 May 2021 16:37:02 +0000 (18:37 +0200)]
hir_ty: don't pass where clauses of associated types down to chalk (temp. fix #9052)

3 years agoMerge #9064
bors[bot] [Sun, 30 May 2021 15:13:29 +0000 (15:13 +0000)]
Merge #9064

9064: Fix incorrect prefer_inner calls on some attribute completions r=Veykril a=Veykril

bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
3 years agoFix incorrect prefer_inner calls on some attribute completions
Lukas Wirth [Sun, 30 May 2021 15:10:42 +0000 (17:10 +0200)]
Fix incorrect prefer_inner calls on some attribute completions

3 years agoMerge #9062
bors[bot] [Sun, 30 May 2021 11:48:59 +0000 (11:48 +0000)]
Merge #9062

9062: internal: Bump deps r=lnicola a=lnicola

Fixes #9061

bors r+

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
3 years agoBump deps
Laurențiu Nicola [Sun, 30 May 2021 11:48:10 +0000 (14:48 +0300)]
Bump deps

3 years agoDiagnose unimplemented built-in macros
Jonas Schievink [Sun, 30 May 2021 02:19:47 +0000 (04:19 +0200)]
Diagnose unimplemented built-in macros

3 years agoMerge #9059
bors[bot] [Sat, 29 May 2021 19:19:24 +0000 (19:19 +0000)]
Merge #9059

9059: fix: Only complete derive proc macros in `#[derive]` r=jonas-schievink a=jonas-schievink

HIR now gives them `MacroKind::Derive` instead of `MacroKind::ProcMacro`

bors r+

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
3 years agoOnly complete derive proc macros in `#[derive]`
Jonas Schievink [Sat, 29 May 2021 19:18:14 +0000 (21:18 +0200)]
Only complete derive proc macros in `#[derive]`

3 years agoUpdate to prerelease
Jonas Schievink [Sat, 29 May 2021 19:10:00 +0000 (21:10 +0200)]
Update to prerelease

3 years agoMerge #9057
bors[bot] [Sat, 29 May 2021 18:33:49 +0000 (18:33 +0000)]
Merge #9057

9057: internal: Thread proc-macro types through the HIR r=jonas-schievink a=jonas-schievink

Should help with completion of derives. cc @Veykril

bors r+

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
3 years agoThread proc-macro types through the HIR
Jonas Schievink [Sat, 29 May 2021 18:32:57 +0000 (20:32 +0200)]
Thread proc-macro types through the HIR

3 years agoMerge #9050
bors[bot] [Sat, 29 May 2021 17:39:15 +0000 (17:39 +0000)]
Merge #9050

9050: hir_ty: use async ret type for inference inside async bodies r=flodiebold a=cynecx

Fixes #9004.

Co-authored-by: cynecx <me@cynecx.net>
3 years agoMerge #9054
bors[bot] [Sat, 29 May 2021 16:33:20 +0000 (16:33 +0000)]
Merge #9054

9054: fix: fix `matches!` macro on nightly toolchains r=jonas-schievink a=jonas-schievink

Fixes https://github.com/rust-analyzer/rust-analyzer/issues/9043

bors r+

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
3 years agoTreat `pat_param` like `pat` fragments
Jonas Schievink [Sat, 29 May 2021 16:32:32 +0000 (18:32 +0200)]
Treat `pat_param` like `pat` fragments

3 years agoMerge #9051
bors[bot] [Sat, 29 May 2021 16:23:59 +0000 (16:23 +0000)]
Merge #9051

9051: Fix incorrect setting descriptions r=lnicola a=sclu1034

Descriptions for diagnostic warning hint and info display were swapped.

Fixes #8485.

Co-authored-by: Lucas Schwiderski <lucas@lschwiderski.de>
3 years agohir_ty: use async ret type for inference inside async bodies
cynecx [Sat, 29 May 2021 16:16:20 +0000 (18:16 +0200)]
hir_ty: use async ret type for inference inside async bodies

3 years agoFix incorrect setting descriptions
Lucas Schwiderski [Sat, 29 May 2021 16:08:14 +0000 (18:08 +0200)]
Fix incorrect setting descriptions

Descriptions for diagnostic warning hint and info display were swapped.

Fixes #8485.

Signed-off-by: Lucas Schwiderski <lucas@lschwiderski.de>
3 years agoMerge #9048
bors[bot] [Sat, 29 May 2021 15:33:57 +0000 (15:33 +0000)]
Merge #9048

9048: Add some lint completion tests r=Veykril a=Veykril

bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
3 years agoAdd some lint completion tests
Lukas Wirth [Sat, 29 May 2021 15:19:49 +0000 (17:19 +0200)]
Add some lint completion tests

3 years agoMerge #9046
bors[bot] [Sat, 29 May 2021 15:19:44 +0000 (15:19 +0000)]
Merge #9046

9046: fix: make `include!` etc. work in expression position r=jonas-schievink a=jonas-schievink

This PR removes determination of fragment kinds from the eager macro implementations. The fragment kind is always determined by the syntax position in which a macro is invoked, not by the macro implementation, even for eager macros.

This makes `include!` work in expression position, and should have the same effect for all macros that may be used in different positions.

bors r+

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
3 years agoRemove fragment kind knowledge from builtin macros
Jonas Schievink [Sat, 29 May 2021 15:17:08 +0000 (17:17 +0200)]
Remove fragment kind knowledge from builtin macros

3 years agoMerge #9027
bors[bot] [Sat, 29 May 2021 12:14:16 +0000 (12:14 +0000)]
Merge #9027

9027: feat: Attribute completion is context aware r=Veykril a=Veykril

This splits off the `lint` and `derive` completions into their own submodules of `attribute`.

The idea is to create a lazy global hashmap that maps `SyntaxKind` to attribute names(`&[&str]`) in which we index with the syntax kind of the "thing" we are attributing giving us the attributes back that are valid for this kind. Then we use this name to do a binary search on the attribute list to fetch and build the corresponding completion item.

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
3 years agosimplify
Lukas Wirth [Sat, 29 May 2021 12:02:06 +0000 (14:02 +0200)]
simplify

3 years agoMerge #9041
bors[bot] [Fri, 28 May 2021 21:21:37 +0000 (21:21 +0000)]
Merge #9041

9041: internal: Implement prev sibling determination for `CompletionContext ` r=Veykril a=Veykril

bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
3 years agoMore completion pattern tests
Lukas Wirth [Fri, 28 May 2021 20:18:52 +0000 (22:18 +0200)]
More completion pattern tests

3 years agoImplement prev sibling determination for `CompletionContext`
Lukas Wirth [Fri, 28 May 2021 20:03:31 +0000 (22:03 +0200)]
Implement prev sibling determination for `CompletionContext`

3 years agosimplify
Lukas Wirth [Fri, 28 May 2021 18:46:09 +0000 (20:46 +0200)]
simplify

3 years agoMerge #9028
bors[bot] [Fri, 28 May 2021 15:26:20 +0000 (15:26 +0000)]
Merge #9028

9028: only advertise range formatting support if enabled r=Veykril a=euclio

Fixes #9009.

Co-authored-by: Andy Russell <arussell123@gmail.com>
3 years agoMerge #9040
bors[bot] [Fri, 28 May 2021 12:59:54 +0000 (12:59 +0000)]
Merge #9040

9040: Don't label derive macros with their banged_name r=Veykril a=Veykril

cc https://github.com/rust-analyzer/rust-analyzer/issues/7072#issuecomment-850396203
This doesn't fix it non builtin derives yet I think cause of a FIXME somewhere that doesn't categorize proc-macro derives as derives yet
bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
3 years agoDon't label derive macros with their banged_name
Lukas Wirth [Fri, 28 May 2021 12:55:12 +0000 (14:55 +0200)]
Don't label derive macros with their banged_name

3 years agoMerge #9038
bors[bot] [Fri, 28 May 2021 12:16:18 +0000 (12:16 +0000)]
Merge #9038

9038: Folding range for return types r=Veykril a=MozarellaMan

For issue #8957

![return type fold](https://user-images.githubusercontent.com/48062697/119979082-5c62e100-bfb2-11eb-9729-1dea1ce74de1.gif)

Co-authored-by: Ayomide Bamidele <48062697+MozarellaMan@users.noreply.github.com>
3 years agoTest for correct amount of emitted folds
Ayomide Bamidele [Fri, 28 May 2021 12:10:41 +0000 (13:10 +0100)]
Test for correct amount of emitted folds

3 years agoFolding range for return types
Ayomide Bamidele [Fri, 28 May 2021 11:39:02 +0000 (12:39 +0100)]
Folding range for return types

3 years agoMerge #9037
bors[bot] [Fri, 28 May 2021 11:03:18 +0000 (11:03 +0000)]
Merge #9037

9037: minor: Move runnable lenses below attributes r=Veykril a=Veykril

bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
3 years agoMove runnable lenses below attributes
Lukas Wirth [Fri, 28 May 2021 10:55:07 +0000 (12:55 +0200)]
Move runnable lenses below attributes

3 years agoMerge #9036
bors[bot] [Fri, 28 May 2021 10:36:13 +0000 (10:36 +0000)]
Merge #9036

9036: Remove undocumented `TextDocumentSyncKind::Full` support r=matklad a=lnicola

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
3 years agoRemove undocumented `TextDocumentSyncKind::Full` support
Laurențiu Nicola [Fri, 28 May 2021 10:01:04 +0000 (13:01 +0300)]
Remove undocumented `TextDocumentSyncKind::Full` support

3 years agoMerge #9033
bors[bot] [Fri, 28 May 2021 01:21:45 +0000 (01:21 +0000)]
Merge #9033

9033: Complete keywords in (Assoc)ItemList with leading attribute r=Veykril a=Veykril

Fixes #7673
bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
3 years agoComplete keywords in (Assoc)ItemList with leading attribute
Lukas Wirth [Fri, 28 May 2021 01:20:55 +0000 (03:20 +0200)]
Complete keywords in (Assoc)ItemList with leading attribute

3 years agoMerge #9032
bors[bot] [Fri, 28 May 2021 00:43:16 +0000 (00:43 +0000)]
Merge #9032

9032: Only complete modules in empty use-statements r=Veykril a=Veykril

bors r+
Part of #8518

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
3 years agoOnly complete modules in empty use-statements
Lukas Wirth [Fri, 28 May 2021 00:40:40 +0000 (02:40 +0200)]
Only complete modules in empty use-statements

3 years agoAdd another attribute completion test
Lukas Wirth [Thu, 27 May 2021 23:09:22 +0000 (01:09 +0200)]
Add another attribute completion test

3 years agoAdd attribute completion tests
Lukas Wirth [Thu, 27 May 2021 22:54:52 +0000 (00:54 +0200)]
Add attribute completion tests

3 years agoMerge #9029
bors[bot] [Thu, 27 May 2021 22:47:04 +0000 (22:47 +0000)]
Merge #9029

9029: minor: test that `ItemTree` makes `hir_def` queries syntax-independent r=jonas-schievink a=jonas-schievink

bors r+

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
3 years agoTest that `ItemTree` works as intended
Jonas Schievink [Thu, 27 May 2021 22:46:05 +0000 (00:46 +0200)]
Test that `ItemTree` works as intended

3 years agott muncher time
Lukas Wirth [Thu, 27 May 2021 22:35:21 +0000 (00:35 +0200)]
tt muncher time

3 years agoSplit attribute completion module into attribute, derive and lint modules
Lukas Wirth [Thu, 27 May 2021 21:40:33 +0000 (23:40 +0200)]
Split attribute completion module into attribute, derive and lint modules

3 years agoonly advertise range formatting support if enabled
Andy Russell [Thu, 27 May 2021 21:36:13 +0000 (17:36 -0400)]
only advertise range formatting support if enabled

3 years agoAttribute completion is context aware
Lukas Wirth [Thu, 27 May 2021 21:28:14 +0000 (23:28 +0200)]
Attribute completion is context aware

3 years agoMerge #9026
bors[bot] [Thu, 27 May 2021 19:13:34 +0000 (19:13 +0000)]
Merge #9026

9026: Complete modules in assoc item lists r=Veykril a=Veykril

bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
3 years agoComplete modules in item lists
Lukas Wirth [Thu, 27 May 2021 19:12:50 +0000 (21:12 +0200)]
Complete modules in item lists

3 years agoComplete modules in assoc item lists
Lukas Wirth [Thu, 27 May 2021 18:53:38 +0000 (20:53 +0200)]
Complete modules in assoc item lists

3 years agoMove hir_ty incremental test to its own file
Jonas Schievink [Thu, 27 May 2021 18:21:52 +0000 (20:21 +0200)]
Move hir_ty incremental test to its own file

3 years agoMerge #9020
bors[bot] [Thu, 27 May 2021 16:34:46 +0000 (16:34 +0000)]
Merge #9020

9020: fix: Don't complete non-macro item paths in impls and modules r=Veykril a=Veykril

Part of #8518
bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
3 years agoDisplay unknown types in analysis-stats
Laurențiu Nicola [Thu, 27 May 2021 16:30:28 +0000 (19:30 +0300)]
Display unknown types in analysis-stats

3 years agoCleanup `ImmediateLocation` determination
Lukas Wirth [Thu, 27 May 2021 16:15:18 +0000 (18:15 +0200)]
Cleanup `ImmediateLocation` determination

3 years agoMerge #9024
bors[bot] [Thu, 27 May 2021 14:27:56 +0000 (14:27 +0000)]
Merge #9024

9024: internal: Don't store supertraits in ItemTree r=jonas-schievink a=lnicola

Closes #9010

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
3 years agoDon't store supertraits in ItemTree
Laurențiu Nicola [Thu, 27 May 2021 13:52:15 +0000 (16:52 +0300)]
Don't store supertraits in ItemTree

3 years agoUpdate salsa
Jonas Schievink [Mon, 17 May 2021 17:07:10 +0000 (19:07 +0200)]
Update salsa

3 years agoMerge #8997
bors[bot] [Thu, 27 May 2021 11:56:26 +0000 (11:56 +0000)]
Merge #8997

8997: internal: stop expanding UseTrees during ItemTree lowering r=jonas-schievink a=jonas-schievink

Closes https://github.com/rust-analyzer/rust-analyzer/issues/8908

Messy diff, but `ItemTree` lowering got simpler, since we now have a strict 1-to-1 mapping between `ast::Item` and `ModItem`.

The most messy part is mapping a single `UseTree` back to its `ast::UseTree` counterpart for diagnostics, but I think the ad-hoc source map built during lowering does the job.

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
3 years agoDrop `ignore` from doctests
Jonas Schievink [Thu, 27 May 2021 11:55:31 +0000 (13:55 +0200)]
Drop `ignore` from doctests

3 years agoDon't complete non-macro item paths in impls and modules
Lukas Wirth [Thu, 27 May 2021 02:34:21 +0000 (04:34 +0200)]
Don't complete non-macro item paths in impls and modules

3 years agoMerge #9022
bors[bot] [Thu, 27 May 2021 08:59:53 +0000 (08:59 +0000)]
Merge #9022

9022: internal: disable debuginfo afterall r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
3 years agointernal: disable debuginfo afterall
Aleksey Kladov [Thu, 27 May 2021 08:53:33 +0000 (11:53 +0300)]
internal: disable debuginfo afterall

3 years agoMerge #9021
bors[bot] [Thu, 27 May 2021 08:17:10 +0000 (08:17 +0000)]
Merge #9021

9021: internal: explain the motivation behind early configuration r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
3 years agointernal: explain the motivation behind early configuration
Aleksey Kladov [Thu, 27 May 2021 08:16:14 +0000 (11:16 +0300)]
internal: explain the motivation behind early configuration

3 years agoMerge #9005
bors[bot] [Thu, 27 May 2021 07:04:15 +0000 (07:04 +0000)]
Merge #9005

9005: internal: Document semantic token tags r=matklad a=Veykril

Closes #6457

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
3 years agoMerge #9019
bors[bot] [Thu, 27 May 2021 01:48:36 +0000 (01:48 +0000)]
Merge #9019

9019: internal: simplify r=Veykril a=Veykril

bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
3 years agosimplify
Lukas Wirth [Thu, 27 May 2021 01:47:20 +0000 (03:47 +0200)]
simplify

3 years agoMerge #9018
bors[bot] [Thu, 27 May 2021 01:22:28 +0000 (01:22 +0000)]
Merge #9018

9018: Collapse more CompletionContext booleans into enums r=Veykril a=Veykril

bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
3 years agosimplify
Lukas Wirth [Thu, 27 May 2021 01:01:46 +0000 (03:01 +0200)]
simplify

3 years agoCollapse more CompletionContext booleans into enums
Lukas Wirth [Thu, 27 May 2021 00:54:49 +0000 (02:54 +0200)]
Collapse more CompletionContext booleans into enums

3 years agoMerge #9017
bors[bot] [Wed, 26 May 2021 23:06:59 +0000 (23:06 +0000)]
Merge #9017

9017: internal: Reduce the number of traits passed through chalk during applicable trait lookup r=SomeoneToIgnore a=SomeoneToIgnore

Inherent traits can be omitted before trait solving, presumably slightly helping https://github.com/rust-analyzer/rust-analyzer/issues/7542 and slightly simplifying the code.

Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
3 years agoExclude inherent traits more eagerly
Kirill Bulatov [Wed, 26 May 2021 23:00:23 +0000 (02:00 +0300)]
Exclude inherent traits more eagerly

3 years agoMerge #9016
bors[bot] [Wed, 26 May 2021 21:49:06 +0000 (21:49 +0000)]
Merge #9016

9016: Set `record_pat_syntax` more precisely in CompletionContext r=Veykril a=Veykril

bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
3 years agoSet `record_pat_syntax` more precisely in CompletionContext
Lukas Wirth [Wed, 26 May 2021 21:46:00 +0000 (23:46 +0200)]
Set `record_pat_syntax` more precisely in CompletionContext

3 years agoMerge #8995
bors[bot] [Wed, 26 May 2021 20:58:07 +0000 (20:58 +0000)]
Merge #8995

8995: fix: Create tasks for all workspaces r=matklad a=SomeoneToIgnore

Follow-up of https://github.com/rust-analyzer/rust-analyzer/pull/8955#discussion_r637897170

Before:
<img width="593" alt="image" src="https://user-images.githubusercontent.com/2690773/119575267-712b5300-bdbf-11eb-833c-f688f7a7dd0f.png">

After:
<img width="643" alt="image" src="https://user-images.githubusercontent.com/2690773/119575273-74264380-bdbf-11eb-8283-a78bbcb7346e.png">

This is the first time I've used multiple workspaces feature in VSCode, but so far looks like
* opening detached files works
* run and debug lens work
* Rust Analyzer: Run action works
* run task works and now shows tasks for all workspaces
* there are no platform-specific changes involved

Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
3 years agoMerge #9015
bors[bot] [Wed, 26 May 2021 20:43:53 +0000 (20:43 +0000)]
Merge #9015

9015: Merge pattern completion related bools into an enum r=Veykril a=Veykril

The two bools can never both be set so this is basically just a tri-state enum.
bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>