Commit graph

12301 commits

Author SHA1 Message Date
Aleksey Kladov 27ccc95c60 Cleanup feature generation 2020-08-18 19:36:27 +02:00
bors[bot] f18f9da7d8
Merge #5695
5695: Added completion for unstable features r=matklad a=Fihtangolz

Added xtask for downloading list of unstable features from the unstable book and codegen for it. Also included small changes from linter.

Co-authored-by: Dmitry <mamhigtt@gmail.com>
Co-authored-by: Dmitry Opokin <mamhigtt@gmail.com>
2020-08-18 16:49:06 +00:00
bors[bot] aa2def023e
Merge #5804
5804: Add type safety to diagnostic codes
 r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-08-18 16:40:12 +00:00
Aleksey Kladov 8146669542 Add type safety to diagnostic codes 2020-08-18 18:39:43 +02:00
bors[bot] f7a8ce3525
Merge #5801
5801: Speedup tests in dev mode
 r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-08-18 15:45:37 +00:00
Aleksey Kladov bbb1c617b9 Speedup tests in dev mode 2020-08-18 17:44:51 +02:00
bors[bot] d21d5e42c4
Merge #5800
5800: Speedup ty tests
 r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-08-18 15:22:12 +00:00
Aleksey Kladov aad911fb0c Speedup ty tests
Closes #5792
2020-08-18 17:20:57 +02:00
bors[bot] 0df9ecedb4
Merge #5798
5798: Introduce Label
 r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-08-18 14:51:10 +00:00
Aleksey Kladov aa1a7a5414 Introduce Label 2020-08-18 16:50:07 +02:00
bors[bot] e81c310b62
Merge #5797
5797: Minor
 r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-08-18 14:22:36 +00:00
Aleksey Kladov eb81731600 Minor 2020-08-18 16:22:01 +02:00
bors[bot] 0e66dc690e
Merge #5796
5796: Align diagnostics config with the rest of rust-analyzer
 r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-08-18 14:12:00 +00:00
Aleksey Kladov 0866b1be89 Align diagnostics config with the rest of rust-analyzer 2020-08-18 16:03:15 +02:00
Dmitry 45f171c43a fmt 2020-08-18 19:51:04 +07:00
Dmitry 4d047afe60 fix reformat 2020-08-18 19:44:52 +07:00
Dmitry e18748ed15 Merge remote-tracking branch 'rust-analyzer/master' 2020-08-18 19:37:22 +07:00
bors[bot] a3947129c5
Merge #5794
5794: Simplify building a symbol hierarchy
 r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-08-18 12:32:32 +00:00
Aleksey Kladov 0d201638d9 Add default names section 2020-08-18 14:31:50 +02:00
Aleksey Kladov e01cfe2b45 Simplify building a symbol hierarchy 2020-08-18 14:29:31 +02:00
bors[bot] b8dfc331ab
Merge #5682
5682: Add an option to disable diagnostics r=matklad a=popzxc

As far as I know, currently it's not possible to disable a selected type of diagnostics provided by `rust-analyzer`.

This causes an inconvenient situation with a false-positive warnings: you either have to disable all the diagnostics, or you have to ignore these warnings.

There are some open issues related to this problem, e.g.: https://github.com/rust-analyzer/rust-analyzer/issues/5412, https://github.com/rust-analyzer/rust-analyzer/issues/5502

This PR attempts to make it possible to selectively disable some diagnostics on per-project basis.

Co-authored-by: Igor Aleksanov <popzxc@yandex.ru>
2020-08-18 12:04:49 +00:00
bors[bot] 2252a65f23
Merge #5687
5687: Fix document symbols order r=matklad a=magurotuna

Resolves #5655 
And adds tests for `handle_document_symbol`, both with `hierarchical_symbols` enabled and with it disabled.

Previously document symbols were displayed in reverse order  in sublime text with its LSP plugin, but this patch fixes it like this:

![image](https://user-images.githubusercontent.com/23649474/89709020-fbccce00-d9b6-11ea-83b0-c88dc9f7977f.png)


Co-authored-by: Yusuke Tanaka <yusuktan@maguro.dev>
2020-08-18 11:58:02 +00:00
bors[bot] 5dfb1e054a
Merge #5793
5793: Minor
 r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-08-18 11:20:54 +00:00
Aleksey Kladov 9389e313d0 Minor 2020-08-18 13:20:28 +02:00
bors[bot] a95c5e2121
Merge #5758
5758: SSR: Explicitly autoderef and ref placeholders as needed r=matklad a=davidlattimore

Structural search replace now inserts *, & and &mut in the replacement to match any auto[de]ref in the matched code.

e.g. `$a.foo() ==>> bar($a)` might convert `x.foo()` to `bar(&mut x)`

Co-authored-by: David Lattimore <dml@google.com>
2020-08-18 10:52:27 +00:00
David Lattimore 29e6238cb7 SSR: A few small refactorings 2020-08-18 20:39:55 +10:00
Igor Aleksanov 34847c8d96 Move analysis config structure to the config.rs 2020-08-18 13:35:36 +03:00
Igor Aleksanov b56cfcca10 Make disabled diagnostics an argument of corresponding function 2020-08-18 13:32:29 +03:00
bors[bot] 5d97db8d48
Merge #5791
5791: ⬆️ crates
 r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-08-18 09:21:11 +00:00
Aleksey Kladov 88adca766a ⬆️ crates 2020-08-18 11:20:45 +02:00
Aleksey Kladov 90cb4bbbb9 Remove usless pre-cache task
We are not cleaning the rest of xtask artifacts, so this effectively
does nothing. xtask is small and changes rarely, so this shouldn't
really matter.
2020-08-18 11:19:44 +02:00
bors[bot] 620d67322a
Merge #5790
5790: Revive cache cleaning
 r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-08-18 09:08:00 +00:00
Aleksey Kladov 6cff076513 Revive cache cleaning
The idea here is that, on CI, we only want to cache crates.io
dependencies, and not local crates. This keeps the size of the cache
low, and also improves performance, as network and moving files on
disk (on Windows) can be slow.
2020-08-18 11:07:21 +02:00
Aleksey Kladov 80ab6c8cd5 Re-enable mac build 2020-08-18 09:38:32 +02:00
bors[bot] 3932874794
Merge #5787
5787: Fix missing match arm false positive r=matklad a=CAD97

If the type of the match expression is `{unknown}`, don't do exhaustiveness checks, as it could be an uninhabited type.

Co-authored-by: CAD97 <cad97@cad97.com>
2020-08-18 07:25:57 +00:00
CAD97 c822bb68ce Fix missing match arm false error on unknown type 2020-08-17 13:27:12 -04:00
CAD97 2eaf79cfbb Document missing match arm false positive
This should already be guarded against
(d2212a49f6/crates/hir_ty/src/diagnostics/expr.rs (L225-L230))
but it isn't preventing this false positive for some reason.
2020-08-17 13:19:15 -04:00
bors[bot] 7d95a8447c
Merge #5776 #5780
5776: Fix eslint errors on .eslintrc.js and rollup.config.js r=matklad a=fuafa

Eslint complains if these two files does not include in the `tsconfig.json`.
```
Parsing error: "parserOptions.project" has been set for @typescript-eslint/parser.
The file does not match your project config: .eslintrc.js.
The file must be included in at least one of the projects provided.eslint
```
![image](https://user-images.githubusercontent.com/20750310/90338269-176d4f80-e01b-11ea-8710-3ea817b235d2.png)



5780: Fixup whitespace when adding missing impl items r=matklad a=jDomantas

Generate properly formatted whitespace when adding impl items - with an empty line between items and removing extra whitespace that often appears at the end.

This is my first time working on rust analyzer so I'm not very familiar with its internal APIs. If there's a better way to do such syntax tree editing I'd be glad to hear it.

Co-authored-by: xiaofa <xiaofalzx@gmail.com>
Co-authored-by: jDomantas <djadenkus@gmail.com>
2020-08-17 14:30:24 +00:00
bors[bot] 6826dd044a
Merge #5782
5782: Fix StatusNotification r=matklad a=vsrs

This PR fixes the following:

As per specification `params` property in [NotificationMessage ](https://microsoft.github.io/language-server-protocol/specifications/specification-current/#notificationMessage) should be `array | object` while RA uses `"loading" | "ready" | "invalid" | "needsReload"`.

Co-authored-by: vsrs <vit@conrlab.com>
2020-08-17 14:23:03 +00:00
bors[bot] 64bbdb5bc7
Merge #5785
5785: Don't make fields private unless you have to
 r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-08-17 14:13:07 +00:00
Aleksey Kladov 6a4c9fc9fd Don't make fields private unless you have to 2020-08-17 16:11:29 +02:00
bors[bot] df22547276
Merge #5784
5784: Mention that generated .adocs are generaterd
 r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-08-17 13:50:13 +00:00
Aleksey Kladov b82d967182 Mention that generated .adocs are generaterd 2020-08-17 15:49:46 +02:00
vsrs 1eed036a6e Fix StatusNotification 2020-08-17 14:56:27 +03:00
jDomantas a565a42f46 format 2020-08-17 11:36:46 +03:00
jDomantas 38e3088a56 update generated tests 2020-08-17 10:47:13 +03:00
bors[bot] 0b2b9a5508
Merge #5766
5766: Hacky support for fn-like proc macros r=matklad a=jonas-schievink

It turns out that this is all that's needed to get something like this working:

```rust
#[proc_macro]
pub fn function_like_macro(_args: TokenStream) -> TokenStream {
    TokenStream::from_str("fn fn_success() {}").unwrap()
}
```

```rust
function_like_macro!();

fn f() {
    fn_success();
}
```

The drawback is that it also makes this work, because there is no distinction between different proc macro kinds in the rest of r-a:

```rust
#[derive(function_like_macro)]
struct S {}

fn f() {
    fn_success();
}
```

Another issue is that it seems to panic, and then panic, when using this on the rustc code base, due to some issue in the inscrutable proc macro bridge code.

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2020-08-16 20:03:06 +00:00
bors[bot] 6deb9087bb
Merge #5778
5778: Chalk 0.23 r=kjeremy a=kjeremy



Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
2020-08-16 16:18:55 +00:00
Jeremy Kolb 409090e74c Chalk 0.23 2020-08-16 12:15:44 -04:00
bors[bot] 76bd27be89
Merge #5777
5777: Bump rustc_lexer r=kjeremy a=kjeremy



Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
2020-08-16 16:01:52 +00:00