Commit graph

20532 commits

Author SHA1 Message Date
bors[bot]
d89a4f0e93
Merge #11173
11173: Allow adding partially resolved types r=Veykril a=SomeoneToIgnore

Sometimes when writing something like `let foo = Arc::new(Mutex::new(CrazyGenerics::new(HashMap::new())))`, I want/have to specify an explicit type for the expression.
Using turbofish isn't very readable and not always appreciated by guidelines, so `let foo: T` has to be filled.

To ease that, the PR enables the `add_explicit_type` assist on types that contain unknown types and some generics.
Fully unresolved types, arrays with unknown types and other known cases behave the same.

`_` placeholder was chosen to replace an unknown type:

```rust
let foo = HashMap::new();
// after assist usage, turns into
let foo: HashMap<_, _> = HashMap::new();
```

Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
2022-01-03 00:40:30 +00:00
bors[bot]
df3d3d8a74
Merge #11175
11175: fix: Fix highlighting hack for self-params r=Veykril a=Veykril

Fixes https://github.com/rust-analyzer/rust-analyzer/issues/11174
bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2022-01-03 00:32:31 +00:00
Lukas Wirth
087122ad1a fix: Fix highlighting hack for self-params 2022-01-03 01:32:03 +01:00
Kirill Bulatov
03291db801 Allow adding partially resolved types 2022-01-03 01:34:33 +02:00
bors[bot]
989c06b25d
Merge #11171
11171: fix: Fix tool module classification not working correctly r=Veykril a=Veykril

bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2022-01-02 22:15:30 +00:00
Lukas Wirth
762a3b3030 Fix tool module classification not working correctly 2022-01-02 23:14:18 +01:00
bors[bot]
35737eb896
Merge #11170
11170: minor: Cleanup syntax highlighting r=Veykril a=Veykril

bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2022-01-02 21:24:07 +00:00
Lukas Wirth
19d894cdec minor: Cleanup syntax highlighting 2022-01-02 22:23:05 +01:00
bors[bot]
e1099aaa57
Merge #11169
11169: internal: Handle macro calls better in highlighting r=Veykril a=Veykril

Introduces a new semantic highlighting tag for the `!` character of macro calls.

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

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2022-01-02 18:27:16 +00:00
Lukas Wirth
22160c418b fix NameRefClass misclassifying proc-macros 2022-01-02 19:20:10 +01:00
Lukas Wirth
9eed85b171 fix syntactic highlighting for macros 2022-01-02 19:10:23 +01:00
Lukas Wirth
3a525c831f internal: Handle macro calls better in highlighting 2022-01-02 19:10:10 +01:00
bors[bot]
2e7170e07b
Merge #11166
11166: minor: Simplify r=Veykril a=Veykril

bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2022-01-02 16:49:40 +00:00
Lukas Wirth
f31863b189 minor: Simplify 2022-01-02 17:37:16 +01:00
bors[bot]
367cd5ce9b
Merge #11168
11168: minor: drop dead code r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2022-01-02 16:08:23 +00:00
Aleksey Kladov
3836b195dd minor: replace panics with types 2022-01-02 19:05:37 +03:00
Aleksey Kladov
174c439c56 minor: drop dead code 2022-01-02 19:03:38 +03:00
bors[bot]
6e3d135f7b
Merge #11167
11167: internal: check top level entry point invariants r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2022-01-02 15:50:57 +00:00
Aleksey Kladov
2e34a5e2e9 add empty input tests 2022-01-02 18:50:32 +03:00
Aleksey Kladov
c72908a201 more intuitive order 2022-01-02 18:46:01 +03:00
Aleksey Kladov
d846afdeef check top level entry point invariants 2022-01-02 18:41:32 +03:00
Aleksey Kladov
fa049d94d1 add top-level tests for expressions 2022-01-02 17:52:05 +03:00
bors[bot]
68013ee315
Merge #11165
11165: internal: start enforcing invariants for top-level entry points r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2022-01-02 14:46:05 +00:00
Aleksey Kladov
640cc27ff0 add top level tests for types 2022-01-02 17:45:18 +03:00
Aleksey Kladov
e78424846e enforce parsing invariant for patterns 2022-01-02 17:32:15 +03:00
bors[bot]
ddb420a86e
Merge #11164
11164: internal: more macro tests r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2022-01-02 14:19:07 +00:00
Aleksey Kladov
7989d567e2 internal: more macro tests 2022-01-02 17:18:21 +03:00
Aleksey Kladov
7de4b964a9 add test for macro items 2022-01-02 16:48:10 +03:00
bors[bot]
25dd65dae2
Merge #11163
11163: internal: start tests for top-level parser entry points r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2022-01-02 12:19:25 +00:00
Aleksey Kladov
bebfb83fd0 split prefix/top tests 2022-01-02 15:18:34 +03:00
Aleksey Kladov
2bd7c74706 add tests for macro statements 2022-01-02 15:17:32 +03:00
Aleksey Kladov
f2ea7853ee start top-level entry point tests 2022-01-02 15:15:04 +03:00
Aleksey Kladov
e366b3c730 minor: generalize 2022-01-02 15:01:20 +03:00
bors[bot]
d783226381
Merge #11162
11162: minor: Simplify r=Veykril a=Veykril

bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2022-01-02 11:41:54 +00:00
Lukas Wirth
8fad24d3c2 minor: Simplify 2022-01-02 12:40:46 +01:00
bors[bot]
91200e31e3
Merge #11161
11161: minor: style nits r=lnicola a=lnicola

 - avoid `fold` with a `Vec` seed which could have been a `for_each`
 - we can't drop the dependency, but avoid `Itertools::collect_vec`

bors r+

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2022-01-02 10:08:10 +00:00
Laurențiu Nicola
53ddf48df4 Avoid collect_vec from itertools 2022-01-02 12:06:14 +02:00
Laurențiu Nicola
fdf1136e79 Replace folds with for loops 2022-01-02 12:05:35 +02:00
bors[bot]
b706ae22dc
Merge #11160
11160: internal: Use basic `NonEmptyVec` in mbe::syntax_bridge r=Veykril a=Veykril

There are some places in the ide crates where this can be used as well if memory serves right.
bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2022-01-02 03:48:38 +00:00
Lukas Wirth
65a1538dd1 internal: Use basic NonEmptyVec in mbe::syntax_bridge 2022-01-02 03:48:19 +01:00
bors[bot]
bc81dca3dc
Merge #11159
11159: minor: Simplify r=Veykril a=Veykril

bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2022-01-02 01:39:53 +00:00
Lukas Wirth
a0e0e4575b Simplify 2022-01-02 02:39:14 +01:00
bors[bot]
8da5f46fac
Merge #11158
11158: fix: Enable completions for `<_>::$0` r=Veykril a=Veykril

Fixes https://github.com/rust-analyzer/rust-analyzer/issues/10462
bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2022-01-01 21:20:55 +00:00
Lukas Wirth
809461cc42 fix: Enable completions for <_>::$0 2022-01-01 22:20:03 +01:00
bors[bot]
55f3297e78
Merge #11156
11156: internal: Record unresolved derive invocations in hir r=Veykril a=Veykril



Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2022-01-01 19:44:16 +00:00
Lukas Wirth
44d61766b5 internal: Record unresolved derive invocations in hir 2022-01-01 20:43:25 +01:00
bors[bot]
0e5d8883cc
Merge #11153
11153: internal: add more prefix entry point tests r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2022-01-01 17:04:29 +00:00
Aleksey Kladov
e36f557e4d internal: add more prefix entry point tests 2022-01-01 20:04:09 +03:00
bors[bot]
3f2edc72cd
Merge #11136
11136: Turbo fish assist supports multiple type arguments r=matklad a=Vannevelj

This fixes #11135 (changelog: bug).

I've only started using Rust a few days ago but saw this issue on the top of the list when I looked at this repo. I based myself on [this blog post](https://techblog.tonsser.com/posts/what-is-rusts-turbofish) to understand what a "turbo fish" is so let me know if I missed anything.

Co-authored-by: Jeroen Vannevel <jer_vannevel@outlook.com>
2022-01-01 16:42:22 +00:00
bors[bot]
9c210a49b6
Merge #11151
11151: feat: correctly fallback to notify if the clinet-side file watching is not supported r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2022-01-01 16:17:39 +00:00