Commit Graph

9054 Commits

Author SHA1 Message Date
Timo Freiberg
10667753c7 Use ast::make API in add_function assist 2020-04-01 23:06:14 +02:00
Timo Freiberg
e5fc42cbc1 Add create_function assist 2020-04-01 23:06:14 +02:00
bors[bot]
f696df379a
Merge #3812
3812: rollup 2.3.2 r=kjeremy a=kjeremy



Co-authored-by: kjeremy <kjeremy@gmail.com>
2020-04-01 18:47:52 +00:00
kjeremy
e88ee75ffb rollup 2.3.2 2020-04-01 14:44:30 -04:00
Florian Diebold
b392a732d3 Add inference for literal and range patterns 2020-04-01 20:27:47 +02:00
bors[bot]
0a41412ced
Merge #3806
3806: lower bool literal value r=flodiebold a=JoshMcguigan

Following up on #3805, this PR adds the literal value to `ast::LiteralKind` so when we lower we can use the actual value from the source code rather than the default value for the type. Ultimately I plan to use this for exhaustiveness checking in #3706.

I didn't include this in the previous PR because I wasn't sure if it made sense to add this information to `ast::LiteralKind` or provide some other mechanism to get this from `ast::Literal`.

For now I've only implemented this for boolean literals, but I think it could be easily extended to other types. A possible exception to this are string literals, since we may not want to clone around an owned string to hold onto in `ast::LiteralKind`, and it'd be nice to avoid adding a generic lifetime as well. Perhaps we won't ever care about the actual value of a string literal? 

Co-authored-by: Josh Mcguigan <joshmcg88@gmail.com>
2020-04-01 17:38:00 +00:00
bors[bot]
f39b51d025
Merge #3809
3809: Less config r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-04-01 17:29:09 +00:00
Aleksey Kladov
1225f719fe Fix pointer syntax 2020-04-01 19:27:45 +02:00
Aleksey Kladov
1ac345a9f6 Centralize defaults 2020-04-01 18:56:47 +02:00
Aleksey Kladov
4936abdd49 Reduce scope of deserialization 2020-04-01 18:51:16 +02:00
Aleksey Kladov
e870cbc23d Centralize client capabilities 2020-04-01 18:46:26 +02:00
Aleksey Kladov
a97e5eb85d Centralize all config 2020-04-01 18:41:43 +02:00
Aleksey Kladov
1e012eb991 Move all config to config 2020-04-01 17:22:56 +02:00
Aleksey Kladov
797cd34c7c Reduce feature flags 2020-04-01 17:00:37 +02:00
bors[bot]
aaf100fcab
Merge #3808
3808: filetime and proc-macro-hack r=kjeremy a=kjeremy



Co-authored-by: kjeremy <kjeremy@gmail.com>
2020-04-01 14:41:18 +00:00
kjeremy
e5cd48940d filetime and proc-macro-hack 2020-04-01 10:36:00 -04:00
bors[bot]
facdf56cf6
Merge #3807
3807: Generalize rustfmt config r=matklad a=matklad



bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-04-01 12:34:31 +00:00
Aleksey Kladov
b9bf29019d Move config to config.rs 2020-04-01 14:32:04 +02:00
Aleksey Kladov
6ac9668998 Generalize rustfmt config 2020-04-01 14:26:08 +02:00
bors[bot]
a0cc66475a
Merge #3797
3797: Don't show chaining hints for record literals and unit structs r=matklad a=lnicola

Fixes #3796 

r? @Veetaha

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2020-04-01 12:18:34 +00:00
Josh Mcguigan
d0b6b2ee2f lower bool literal with the value from source code rather than default bool value 2020-04-01 04:47:41 -07:00
bors[bot]
67351a011b
Merge #3805
3805: lower literal patterns r=JoshMcguigan a=JoshMcguigan

While working on #3706 I discovered literal patterns weren't being lowered. This PR implements that lowering.

Questions for reviewers:

1. This re-uses the existing conversion from `ast::LiteralKind` to `Literal`, but `ast::LiteralKind` doesn't include information about the actual value of the literal, which causes `Literal` to be created with the default value for the type (rather than the actual value in the source code). Am I correct in thinking that we'd eventually want to change things in such a way that we could initialize the `Literal` with the actual literal value? Is there an existing issue for this, or else perhaps I should create one to discuss how it should be implemented? My main question would be whether `ast::LiteralKind` should be extended to hold the actual value, or if we should provide some other way to get that information from `ast::Literal`?
2. I couldn't find tests which directly cover this, but it does seem to work in #3706. Do we have unit tests for this lowering code?
3. I'm not sure why `lit.literal()` returns an `Option`. Is returning a `Pat::Missing` in the `None` case the right thing to do? 
4. I was basically practicing type-system driven development to figure out the transformation from `ast::Pat::LiteralPat` to `Pat::Lit`. I don't have an immediate question here, but I just wanted to ensure this section is looked at closely during review. 

Co-authored-by: Josh Mcguigan <joshmcg88@gmail.com>
2020-04-01 11:22:31 +00:00
Josh Mcguigan
a9d0c9b2a4 lower literal patterns 2020-04-01 04:18:46 -07:00
bors[bot]
d03d638cc3
Merge #3804
3804: Generalize flycheck to arbitrary commands r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-04-01 11:15:37 +00:00
Aleksey Kladov
cc8113dd46 Simplify error handing 2020-04-01 13:14:38 +02:00
Aleksey Kladov
f01846b8ee Generalize Flycheckconfig 2020-04-01 13:14:38 +02:00
bors[bot]
aad0e63d74
Merge #3779
3779: Complete only missing fields in pats r=matklad a=SomeoneToIgnore

A follow-up for https://github.com/rust-analyzer/rust-analyzer/pull/3694

Same name vs string [issue](https://github.com/rust-analyzer/rust-analyzer/pull/3694#discussion_r396986819) persists here, now I'm able to obtain `ast::Name`, but I see no way to convert it into `hir::Name` or vice versa.

Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
2020-04-01 10:41:46 +00:00
bors[bot]
ab284f30ce
Merge #3803
3803: Cleanup r=matklad a=matklad



bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-04-01 10:34:36 +00:00
Aleksey Kladov
65c89c3a20 Cleanup 2020-04-01 12:34:12 +02:00
Laurențiu Nicola
70960df437 Don't show chaining hints for record literals and unit structs 2020-04-01 13:14:41 +03:00
Kirill Bulatov
1335608dae Unite record completion logic into a single module 2020-04-01 13:03:56 +03:00
bors[bot]
e3a1f1c001
Merge #3765
3765: Adds sort for RecordLit comparison in SSR r=edwin0cheng a=mikhail-m1

an item from #3186 

Co-authored-by: Mikhail Modin <mikhailm1@gmail.com>
2020-04-01 10:01:16 +00:00
Kirill Bulatov
d35b943520 Split draft 2020-04-01 12:49:31 +03:00
Kirill Bulatov
bc71631e75 Complete only missing fields in pats 2020-04-01 12:49:31 +03:00
bors[bot]
8cce752bcb
Merge #3802
3802: Crisper name r=matklad a=matklad

https://www.flycheck.org/en/latest/



bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-04-01 09:17:09 +00:00
Aleksey Kladov
b5306ea706 Simplify 2020-04-01 11:16:43 +02:00
Aleksey Kladov
3990d971e5 Crisper name
https://www.flycheck.org/en/latest/
2020-04-01 11:09:19 +02:00
Aleksey Kladov
dda942debe Pull enabled check up 2020-04-01 11:06:16 +02:00
Mikhail Modin
47e8f3c93b Adds sort for RecordLit comparison in SSR 2020-04-01 09:39:33 +01:00
bors[bot]
fae6cecf54
Merge #3799
3799: Streamline flycheck implementation r=matklad a=matklad



bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-04-01 08:21:17 +00:00
Aleksey Kladov
c86d8d40c2 Streamline flycheck implementation 2020-04-01 09:42:23 +02:00
Aleksey Kladov
b46fd38632 sort imports 2020-04-01 00:16:16 +02:00
bors[bot]
f77fc158fc
Merge #3780 #3787
3780: Simplify r=matklad a=Veetaha

I absolutely love tha fact that removing `.clone()` simplifies the code comparing to other languages where it's actually the contrary (ahem ~~`std::move()`~~)

3787: vscode: add syntax tree inspection hovers and highlights r=matklad a=Veetaha

![inspect-tree](https://user-images.githubusercontent.com/36276403/78029767-c7426900-7369-11ea-9ed6-b8a0f8e05bac.gif)
I implemented the reverse mapping (when you hover in the rust editor), but it seems overcomplicated, so I removed it

Related #3682 

Co-authored-by: veetaha <veetaha2@gmail.com>
Co-authored-by: Veetaha <veetaha2@gmail.com>
2020-03-31 17:40:03 +00:00
bors[bot]
f9f0a96b7f
Merge #3795
3795: Reduce deps r=matklad a=matklad



bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-03-31 17:30:18 +00:00
Aleksey Kladov
8d27829781 Reduce deps 2020-03-31 19:29:11 +02:00
veetaha
90cc8cc528 vscode: small refactor 2020-03-31 20:29:07 +03:00
veetaha
f3612b7024 vscode: scroll to the syntax node in rust editor when highlighting 2020-03-31 20:28:10 +03:00
bors[bot]
37a01de42c
Merge #3793
3793: Add integrated test for concat include env r=matklad a=matklad



bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-03-31 17:19:37 +00:00
Aleksey Kladov
a4f9d966f0 Add integrated test for concat include env 2020-03-31 19:19:14 +02:00
Veetaha
3b09768ebc
vscode: apply review nits 2020-03-31 19:06:07 +03:00