]>
git.lizzy.rs Git - rust.git/log
Aleksey Kladov [Sun, 10 Jan 2021 15:02:02 +0000 (18:02 +0300)]
Fix progress token is already registered crash
After we started reporting progress when running cargo check during
loading, it is possible to crash the client with two identical progress
tokens.
This points to a deeper issue: we might be running several cargo checks
concurrently, which doesn't make sense.
This commit linearizes all workspace fetches, making sure no updates are
lost.
As an additional touch, it also normalizes progress & result reporting,
to make sure they stand in sync.
bors[bot] [Sun, 10 Jan 2021 12:45:07 +0000 (12:45 +0000)]
Merge #6238
6238: Split punctuation semantic highlighting up into more tags r=matklad a=Veykril
Open question would be the name of the delimiter modifiers. I chose them this was as I see them this way but from what I remember people tend to mix the names however they like. So maybe using `delimSquare`, `delimCurly`, `delimRound` would be better. That would also go well with `angle` becoming `delimAngle`?
Closes #6152
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Lukas Wirth [Sun, 10 Jan 2021 12:33:03 +0000 (13:33 +0100)]
Split punctuation semantic highlighting up into more tags
bors[bot] [Sun, 10 Jan 2021 11:45:59 +0000 (11:45 +0000)]
Merge #7206 #7231
7206: Use hir::GenericParam in ide_db::Definition instead of relisting all 3 r=Veykril a=Veykril
Basically just this:
```diff
pub enum Definition {
Macro(MacroDef),
Field(Field),
ModuleDef(ModuleDef),
SelfType(Impl),
Local(Local),
- TypeParam(TypeParam),
- LifetimeParam(LifetimeParam),
- ConstParam(ConstParam),
+ GenericParam(GenericParam),
Label(Label),
}
```
7231: Cleaner API r=matklad a=matklad
bors r+
🤖
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sun, 10 Jan 2021 11:36:15 +0000 (14:36 +0300)]
Cleaner API
bors[bot] [Sun, 10 Jan 2021 11:35:19 +0000 (11:35 +0000)]
Merge #7228
7228: Avoid string copy in complete_attribute r=Veykril a=lnicola
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
Lukas Wirth [Fri, 8 Jan 2021 11:28:02 +0000 (12:28 +0100)]
Use hir::GenericParam in ide_db::Definition instead of relisting all 3
bors[bot] [Sun, 10 Jan 2021 11:24:52 +0000 (11:24 +0000)]
Merge #7229
7229: Cleanup r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sun, 10 Jan 2021 11:24:01 +0000 (14:24 +0300)]
Cleanup
Laurențiu Nicola [Sun, 10 Jan 2021 10:19:00 +0000 (12:19 +0200)]
Avoid string copy in complete_attribute
bors[bot] [Sun, 10 Jan 2021 10:02:10 +0000 (10:02 +0000)]
Merge #6980
6980: Implement to support intra-doc link r=matklad a=sasurau4
Helps with #6168
This PR is very limited implementation to support intra-doc. It only support links indicate same file function.
I want someone to feedback me about this implementation. If the approach is good, I will continue this PR to support other symbols like enum and struct.
Co-authored-by: Daiki Ihara <sasurau4@gmail.com>
bors[bot] [Sun, 10 Jan 2021 09:34:24 +0000 (09:34 +0000)]
Merge #7224
7224: Remove unnecessary allocation when checking whether to hide argument name hint r=jhpratt a=jhpratt
The case-insensitive prefix/suffix check can be performed
character-by-character. This allows the check to be done without having
to allocate a new string. As a side effect, it's also no longer
necessary to convert the entire string to lowercase, as it's done as
needed. As the only case equality we're handling is ASCII, this
operation can be further optimized by using byte equality, rather than
character equality.
cc @SomeoneToIgnore, as it's an update on my PR from yesterday.
Co-authored-by: Jacob Pratt <jacob@jhpratt.dev>
Jacob Pratt [Sun, 10 Jan 2021 09:14:39 +0000 (04:14 -0500)]
Skip leading underscores unconditionally
bors[bot] [Sun, 10 Jan 2021 09:00:54 +0000 (09:00 +0000)]
Merge #7226
7226: Replace state with function r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sun, 10 Jan 2021 08:57:17 +0000 (11:57 +0300)]
Replace state with function
Jacob Pratt [Sun, 10 Jan 2021 08:05:52 +0000 (03:05 -0500)]
Short-circuit boolean operation
Jacob Pratt [Sun, 10 Jan 2021 02:36:38 +0000 (21:36 -0500)]
Remove unnecessary allocation
The case-insensitive prefix/suffix check can be performed
character-by-character. This allows the check to be done without having
to allocate a new string. As a side effect, it's also no longer
necessary to convert the entire string to lowercase, as it's done as
needed. As the only case equality we're handling is ASCII, this
operation can be further optimized by using byte equality, rather than
character equality.
bors[bot] [Sat, 9 Jan 2021 20:08:41 +0000 (20:08 +0000)]
Merge #7223
7223: Refactor highlighting r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sat, 9 Jan 2021 20:07:32 +0000 (23:07 +0300)]
Refactor highlighting
bors[bot] [Sat, 9 Jan 2021 14:32:27 +0000 (14:32 +0000)]
Merge #7217
7217: Simplify r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sat, 9 Jan 2021 14:31:22 +0000 (17:31 +0300)]
Simplify
bors[bot] [Sat, 9 Jan 2021 13:09:15 +0000 (13:09 +0000)]
Merge #7216
7216: Highlighting improvements r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Sat, 9 Jan 2021 13:07:41 +0000 (16:07 +0300)]
Better highlight for fixtures
Aleksey Kladov [Sat, 9 Jan 2021 12:54:38 +0000 (15:54 +0300)]
Simplify
Aleksey Kladov [Sat, 9 Jan 2021 12:18:49 +0000 (15:18 +0300)]
Better names
Aleksey Kladov [Sat, 9 Jan 2021 12:12:21 +0000 (15:12 +0300)]
Reduce duplication
Aleksey Kladov [Sat, 9 Jan 2021 11:48:15 +0000 (14:48 +0300)]
Shorten names
Aleksey Kladov [Sat, 9 Jan 2021 11:45:47 +0000 (14:45 +0300)]
Reorder modules
Aleksey Kladov [Sat, 9 Jan 2021 11:44:01 +0000 (14:44 +0300)]
Shorten frequent names
Aleksey Kladov [Sat, 9 Jan 2021 11:41:31 +0000 (14:41 +0300)]
Rename dummy -> none
bors[bot] [Sat, 9 Jan 2021 09:16:29 +0000 (09:16 +0000)]
Merge #7215
7215: Hide argument name hint regardless of case r=SomeoneToIgnore a=jhpratt
Co-authored-by: Jacob Pratt <jacob@jhpratt.dev>
Jacob Pratt [Sat, 9 Jan 2021 08:33:28 +0000 (03:33 -0500)]
Hide argument name hint regardless of case
bors[bot] [Fri, 8 Jan 2021 23:20:54 +0000 (23:20 +0000)]
Merge #7213
7213: Simplify r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Lukas Wirth [Fri, 8 Jan 2021 23:17:34 +0000 (00:17 +0100)]
Simplify
bors[bot] [Fri, 8 Jan 2021 20:48:30 +0000 (20:48 +0000)]
Merge #7212
7212: Simplify highlighting r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Thu, 7 Jan 2021 22:39:02 +0000 (01:39 +0300)]
Simplify highlighting infra
This also fixes the killer whale bug
bors[bot] [Fri, 8 Jan 2021 14:38:21 +0000 (14:38 +0000)]
Merge #7210
7210: cargo update r=kjeremy a=kjeremy
Co-authored-by: kjeremy <kjeremy@gmail.com>
kjeremy [Fri, 8 Jan 2021 14:37:28 +0000 (09:37 -0500)]
cargo update
Daiki Ihara [Sat, 19 Dec 2020 13:12:51 +0000 (22:12 +0900)]
Support intra_doc links
bors[bot] [Fri, 8 Jan 2021 06:03:54 +0000 (06:03 +0000)]
Merge #7205
7205: Fix bug for $crate in LHS of mbe r=edwin0cheng a=edwin0cheng
We treated `$crate` as meta variable in LHS of mbe, which should be an `ident`.
Fixes #7204
Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
Edwin Cheng [Fri, 8 Jan 2021 06:00:23 +0000 (14:00 +0800)]
Add test
Edwin Cheng [Fri, 8 Jan 2021 06:00:16 +0000 (14:00 +0800)]
Fix bug when $crate in LHS in mbe
bors[bot] [Fri, 8 Jan 2021 03:57:11 +0000 (03:57 +0000)]
Merge #7145
7145: Proper handling $crate Take 2 [DO NOT MERGE] r=edwin0cheng a=edwin0cheng
Similar to previous PR (#7133) , but improved the following things :
1. Instead of storing the whole `ExpansionInfo`, we store a similar but stripped version `HygieneInfo`.
2. Instread of storing the `SyntaxNode` (because every token we are interested are IDENT), we store the `TextRange` only.
3. Because of 2, we now can put it in Salsa.
4. And most important improvement: Instead of computing the whole frames every single time, we compute it recursively through salsa: (Such that in the best scenario, we only need to compute the first layer of frame)
```rust
let def_site = db.hygiene_frame(info.def.file_id);
let call_site = db.hygiene_frame(info.arg.file_id);
HygieneFrame { expansion: Some(info), local_inner, krate, call_site, def_site }
```
The overall speed compared to previous PR is much faster (65s vs 45s) :
```
[WITH old PR]
Database loaded 644.86ms, 284mi
Crates in this dir: 36
Total modules found: 576
Total declarations: 11153
Total functions: 8715
Item Collection: 15.78s, 91562mi
Total expressions: 240721
Expressions of unknown type: 2635 (1%)
Expressions of partially unknown type: 2064 (0%)
Type mismatches: 865
Inference: 49.84s, 250747mi
Total: 65.62s, 342310mi
rust-analyzer -q analysis-stats . 66.72s user 0.57s system 99% cpu 1:07.40 total
[WITH this PR]
Database loaded 665.83ms, 284mi
Crates in this dir: 36
Total modules found: 577
Total declarations: 11188
Total functions: 8743
Item Collection: 15.28s, 84919mi
Total expressions: 241229
Expressions of unknown type: 2637 (1%)
Expressions of partially unknown type: 2064 (0%)
Type mismatches: 868
Inference: 30.15s, 135293mi
Total: 45.43s, 220213mi
rust-analyzer -q analysis-stats . 46.26s user 0.74s system 99% cpu 47.294 total
```
*HOWEVER*, it is still a perf regression (35s vs 45s):
```
[WITHOUT this PR]
Database loaded 657.42ms, 284mi
Crates in this dir: 36
Total modules found: 577
Total declarations: 11177
Total functions: 8735
Item Collection: 12.87s, 72407mi
Total expressions: 239380
Expressions of unknown type: 2643 (1%)
Expressions of partially unknown type: 2064 (0%)
Type mismatches: 868
Inference: 22.88s, 97889mi
Total: 35.74s, 170297mi
rust-analyzer -q analysis-stats . 36.71s user 0.63s system 99% cpu 37.498 total
```
Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
bors[bot] [Thu, 7 Jan 2021 23:12:26 +0000 (23:12 +0000)]
Merge #7201
7201: Simplify some matches in completions modules r=matklad a=Veykril
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Lukas Wirth [Thu, 7 Jan 2021 22:33:52 +0000 (23:33 +0100)]
Simplify mod completion
Lukas Wirth [Thu, 7 Jan 2021 21:48:54 +0000 (22:48 +0100)]
Tidy up attribute completion match
bors[bot] [Thu, 7 Jan 2021 19:53:05 +0000 (19:53 +0000)]
Merge #7097
7097: Add fix to wrap return expression in Some r=matklad a=theotherphil
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/7095
Co-authored-by: Phil Ellison <phil.j.ellison@gmail.com>
Phil Ellison [Thu, 7 Jan 2021 18:43:40 +0000 (18:43 +0000)]
Switch test marker
Phil Ellison [Wed, 30 Dec 2020 17:33:33 +0000 (17:33 +0000)]
cargo fmt
Phil Ellison [Wed, 30 Dec 2020 17:23:00 +0000 (17:23 +0000)]
Add fix to wrap return expression in Some
bors[bot] [Thu, 7 Jan 2021 18:16:43 +0000 (18:16 +0000)]
Merge #7199
7199: typo r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
bors[bot] [Thu, 7 Jan 2021 18:07:01 +0000 (18:07 +0000)]
Merge #7193
7193: Show progress for fetching workspace (cargo-metadata and loadOutDirsFromCheck) r=matklad a=edwin0cheng
![Peek 2021-01-07 21-57](https://user-images.githubusercontent.com/
11014119 /
103902132 -
0db4c780 -5135-11eb-94d3-
32429445be87 .gif)
Fixes #7188
Fixes #3300
Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
bors[bot] [Thu, 7 Jan 2021 17:57:48 +0000 (17:57 +0000)]
Merge #7191
7191: Adjust vfs crate documentation r=matklad a=arnaudgolfouse
This removes an outdated comment, and uses intra-doc links
Co-authored-by: Arnaud <arnaud.golfouse@free.fr>
Aleksey Kladov [Thu, 7 Jan 2021 17:27:22 +0000 (20:27 +0300)]
typo
Edwin Cheng [Thu, 7 Jan 2021 17:08:46 +0000 (01:08 +0800)]
Report progress for cargo metadata and output-dir
bors[bot] [Thu, 7 Jan 2021 17:12:54 +0000 (17:12 +0000)]
Merge #7198
7198: Styleguide readability r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Thu, 7 Jan 2021 17:11:55 +0000 (20:11 +0300)]
Styleguide readability
Edwin Cheng [Thu, 7 Jan 2021 17:08:34 +0000 (01:08 +0800)]
Refactor out JodChild
bors[bot] [Thu, 7 Jan 2021 16:28:43 +0000 (16:28 +0000)]
Merge #7197
7197: Document `std::ops` style r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Thu, 7 Jan 2021 16:27:47 +0000 (19:27 +0300)]
Document `std::ops` style
bors[bot] [Thu, 7 Jan 2021 16:11:54 +0000 (16:11 +0000)]
Merge #7196
7196: Better fixture highlight r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Thu, 7 Jan 2021 15:21:00 +0000 (18:21 +0300)]
Better fixture highlight
bors[bot] [Thu, 7 Jan 2021 15:30:23 +0000 (15:30 +0000)]
Merge #7195
7195: Update remaining serverPath references r=lnicola a=lnicola
Fixes https://github.com/rust-analyzer/rust-analyzer/pull/7156#issuecomment-
755487667
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
Laurențiu Nicola [Thu, 7 Jan 2021 15:06:11 +0000 (17:06 +0200)]
Update remaining serverPath references
bors[bot] [Thu, 7 Jan 2021 14:39:50 +0000 (14:39 +0000)]
Merge #7194
7194: Don't update the server if managed by the user r=matklad a=lnicola
Fixes #7187
CC @figsoda
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
Laurențiu Nicola [Thu, 7 Jan 2021 14:33:00 +0000 (16:33 +0200)]
Don't update the server if managed by the user
bors[bot] [Thu, 7 Jan 2021 12:27:17 +0000 (12:27 +0000)]
Merge #7184
7184: Changes Cursor Marker To $0 r=matklad a=kevaundray
Co-authored-by: Kevaundray Wedderburn <kevtheappdev@gmail.com>
Kevaundray Wedderburn [Wed, 6 Jan 2021 20:15:48 +0000 (20:15 +0000)]
Change <|> to $0 - Rebase
bors[bot] [Thu, 7 Jan 2021 12:07:49 +0000 (12:07 +0000)]
Merge #7192
7192: Use american spelling for config r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Thu, 7 Jan 2021 11:37:38 +0000 (14:37 +0300)]
Use american spelling for config
As per
https://github.com/rust-analyzer/rust-analyzer/blob/
171c3c08fe245938fb25321394233de5fe2abc7c /docs/dev/style.md#variable-naming
Also implement config aliasing, for pain-free settings migrations in the future
Arnaud [Thu, 7 Jan 2021 11:18:25 +0000 (12:18 +0100)]
Use `file_set::FileSet` and `FileSet` consistently in doc
The first occurrence of `FileSet` has the full path (`file_set::FileSet`),
while every other is simply `FileSet`.
Arnaud [Thu, 7 Jan 2021 11:08:11 +0000 (12:08 +0100)]
Use intra-doc links in `vfs` crate documentation
Arnaud [Thu, 7 Jan 2021 10:09:08 +0000 (11:09 +0100)]
Remove the reference to `WalkdirLoaderHandle` in vfs documentation
This structure was deleted in commit #
dad1333
bors[bot] [Thu, 7 Jan 2021 10:54:44 +0000 (10:54 +0000)]
Merge #7190
7190: Remove some stale deprecations r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Thu, 7 Jan 2021 10:05:51 +0000 (13:05 +0300)]
Remove some stale deprecations
bors[bot] [Thu, 7 Jan 2021 09:01:48 +0000 (09:01 +0000)]
Merge #7189
7189: Extend git evacuation procedure r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Thu, 7 Jan 2021 09:00:07 +0000 (12:00 +0300)]
Extend git evacuation procedure
Edwin Cheng [Mon, 4 Jan 2021 02:53:31 +0000 (10:53 +0800)]
Proper handling $crate Take 2
bors[bot] [Wed, 6 Jan 2021 18:27:02 +0000 (18:27 +0000)]
Merge #7186
7186: Align config's API with usage r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Wed, 6 Jan 2021 17:43:46 +0000 (20:43 +0300)]
Align config's API with usage
The config now is mostly immutable, optimize for that.
bors[bot] [Wed, 6 Jan 2021 17:29:18 +0000 (17:29 +0000)]
Merge #7183
7183: YAGNI active_resolve_capabilities r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Wed, 6 Jan 2021 17:23:53 +0000 (20:23 +0300)]
YAGNI active_resolve_capabilities
This leaks a lot of LSP details into ide layer, which we want to avoid:
https://github.com/rust-analyzer/rust-analyzer/tree/
c9cec381bcfd97e5f3536e31a9c546ab5c0665e6 /docs/dev#lsp-independence
Additionally, all what this infra does is providing a toggle for
auto-import completion, but we already have one!
bors[bot] [Wed, 6 Jan 2021 17:16:04 +0000 (17:16 +0000)]
Merge #7182
7182: Replace last usages of difference with dissimilar r=matklad a=Jesse-Bakker
Co-authored-by: Jesse Bakker <github@jessebakker.com>
Jesse Bakker [Wed, 6 Jan 2021 17:13:29 +0000 (18:13 +0100)]
Replace last usages of difference with dissimilar
bors[bot] [Wed, 6 Jan 2021 16:41:22 +0000 (16:41 +0000)]
Merge #7181
7181: Document project_model::PackageData and project_model::TargetData r=arnaudgolfouse a=arnaudgolfouse
This PR adds some documentation for the `project_model` crate.
Some of the field descriptions were taken directly from their `cargo_metadata` counterpart :
- `PackageData` -> `cargo_metadata::Package`
- `TargetData` -> `cargo_metadata::Target`
Co-authored-by: Arnaud <arnaud.golfouse@free.fr>
Arnaud [Wed, 6 Jan 2021 15:39:44 +0000 (16:39 +0100)]
Document `project_model::TargetData`
This adds a description for `TargetData` and all its fields.
Arnaud [Wed, 6 Jan 2021 15:39:19 +0000 (16:39 +0100)]
Document `project_model::PackageData`
This adds a description for `PackageData` and all its fields.
bors[bot] [Wed, 6 Jan 2021 15:36:37 +0000 (15:36 +0000)]
Merge #7180
7180: More readable test r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Wed, 6 Jan 2021 15:36:06 +0000 (18:36 +0300)]
More readable test
Arnaud [Tue, 5 Jan 2021 18:02:13 +0000 (19:02 +0100)]
Make `PackageData`, `TargetData` and `PackageDependency` public
This makes them discoverable through documentation.
They were already publicly accessible through `Package` and `Target`.
bors[bot] [Wed, 6 Jan 2021 15:16:56 +0000 (15:16 +0000)]
Merge #7179
7179: Less confusing instr stat r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Wed, 6 Jan 2021 15:16:04 +0000 (18:16 +0300)]
Less confusing instr stat
bors[bot] [Wed, 6 Jan 2021 13:33:25 +0000 (13:33 +0000)]
Merge #7178
7178: Better target for move module r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Wed, 6 Jan 2021 13:24:47 +0000 (16:24 +0300)]
Better target for move module
bors[bot] [Wed, 6 Jan 2021 12:49:50 +0000 (12:49 +0000)]
Merge #7177
7177: Speed up snapshoting r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Wed, 6 Jan 2021 12:46:31 +0000 (15:46 +0300)]
Speed up snapshoting
Config can be fairly big, no need to deep clone it frequently
bors[bot] [Wed, 6 Jan 2021 12:40:34 +0000 (12:40 +0000)]
Merge #7172
7172: refactor config to be lossless & precise r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Wed, 6 Jan 2021 10:54:28 +0000 (13:54 +0300)]
More maintainable config
Rather than eagerly converting JSON, we losslessly keep it as is, and
change the shape of user-submitted data at the last moment.
This also allows us to remove a bunch of wrong Defaults
bors[bot] [Wed, 6 Jan 2021 11:32:53 +0000 (11:32 +0000)]
Merge #7176
7176: Attribute completion r=matklad a=FlowerBOII
Solve #7167.
I removed the optional args for the attributes ```deprecated```, ```must_use``` and ```should_panic```.
I also updated their respective tests.
Please let me know if I missed something.
Co-authored-by: FlowerBOII <42295129+FlowerBOII@users.noreply.github.com>
FlowerBOII [Wed, 6 Jan 2021 11:23:19 +0000 (12:23 +0100)]
Change the should_panic completion and his related attribute test