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
Lukas Wirth
44b0fe8ec7
cleanup
2022-01-02 23:44:26 +01:00
Lukas Wirth
aeb5d64912
Implement ToDef for ast::Attr
2022-01-02 23:44:26 +01:00
Lukas Wirth
6b7b09d329
internal: Record unresolved derive invocations in hir
2022-01-02 23:44:23 +01: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