Commit graph

20502 commits

Author SHA1 Message Date
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
Aleksey Kladov
a1c33c2e1a test: force client-side watching
The direct reason for this is to fix CI on windows, which seems to fail
for some reason after we fixed the watcher-selection logic which (I
think) changed the tests behavior to use notify rather than client.

But this patch seems to make sense in general -- file watching is
notoriously finicky, so controlling it explicitly leads to less fragile
tests.
2022-01-01 19:16:25 +03:00
bors[bot]
b8a632121b
Merge #11152
11152: internal: add more tests for entry points r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2022-01-01 16:03:24 +00:00
Aleksey Kladov
7c4276b3e1 add path tests 2022-01-01 19:02:47 +03:00
Aleksey Kladov
287e748aa9 add expr tests 2022-01-01 18:58:30 +03:00
Aleksey Kladov
58fa7ce782 tests for ty 2022-01-01 18:58:30 +03:00
Aleksey Kladov
5ca83a5fb3 internal: add tests for patterns 2022-01-01 18:58:30 +03:00
Aleksey Kladov
0d1e23e968 better error message 2022-01-01 18:55:53 +03:00
Aleksey Kladov
b9417f3483 feat: correctly fallback to notify if the clinet-side file watching is not supported 2022-01-01 17:26:54 +03:00
bors[bot]
3d63abf1d8
Merge #11144
11144: fix: Fix server path on NixOS r=lnicola a=lnicola

See c0d0ceefb2 (commitcomment-62688259).

bors r+

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-12-30 12:52:05 +00:00
Laurențiu Nicola
0182f74516 Fix server path on NixOS 2021-12-30 14:50:54 +02:00
bors[bot]
22ccb1a104
Merge #11141
11141: internal: add tests for extra parser entry points r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-12-30 10:30:28 +00:00
bors[bot]
e279d52f73
Merge #10692
10692: Migrate to new rowan r=lnicola a=azdavis

Since https://github.com/rust-analyzer/rowan/pull/122 was merged into rowan, this could be how rust-analyzer migrates.

Co-authored-by: Ariel Davis <ariel.z.davis@icloud.com>
2021-12-30 08:41:10 +00:00
Ariel Davis
d4262f4af8 Migrate to SyntaxNodePtr in new rowan 2021-12-29 23:48:53 -08:00
Aleksey Kladov
2f3237912d restore invariatns 2021-12-29 20:37:08 +03:00
Aleksey Kladov
b5369927d7 parse empty statemet as statemetn 2021-12-29 20:04:36 +03:00
Aleksey Kladov
841cd30b45 Add test 2021-12-29 19:37:35 +03:00
Aleksey Kladov
f5cfc0504e rename 2021-12-29 19:18:34 +03:00
Aleksey Kladov
8234a85d15 compress 2021-12-29 18:51:05 +03:00
Aleksey Kladov
ad4b02ecc0 add automated semicolon insertion test 2021-12-29 18:37:06 +03:00
Aleksey Kladov
3f5fc05d66 internal: add tests for extra parser entry points 2021-12-29 18:28:11 +03:00
Jeroen Vannevel
b04c4e76df formatting 2021-12-28 18:52:12 +00:00
Jeroen Vannevel
e299fd5475 turbo fish supports multiple type arguments 2021-12-28 18:41:34 +00:00
bors[bot]
355a4bdb88
Merge #11134
11134: internal: tighten up parser API r=matklad a=matklad

It's tempting to expose things like `Expr::parse`, 
but they'll necessary have somewhat ad-hoc semantics. 

Instead, we narrow down the parser's interface strictly 
to what's needed for MBE. For everything else (eg, parsing
imports), the proper way is enclose the input string into 
some context, parse the whole as a file, and then verify 
that the input was parsed as intended.

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-12-28 16:22:20 +00:00
Aleksey Kladov
ea96c376c8 compress 2021-12-28 19:17:34 +03:00
Aleksey Kladov
660cf34d8c dead code 2021-12-28 19:13:30 +03:00
Aleksey Kladov
bfc263f1f9 introduce hacks module 2021-12-28 18:57:13 +03:00
Aleksey Kladov
aa1788dc71 clarify semantics of doc links 2021-12-28 17:00:55 +03:00
Aleksey Kladov
f9e06e6524 last use of parse api in ssr 2021-12-28 17:00:55 +03:00
Aleksey Kladov
45bba40079 dead code 2021-12-28 17:00:55 +03:00
Aleksey Kladov
55f1564101 remove fragments from syntax 2021-12-28 17:00:55 +03:00