Commit graph

13981 commits

Author SHA1 Message Date
bors[bot]
87762874ef
Merge #6987
6987: Delete related whitespace when removing unused param r=matklad a=rherrmann

Include adjacent whitespace in the text edits to remove the
parameter declaration and its occurences in calling code.

https://github.com/rust-analyzer/rust-analyzer/issues/6663

Co-authored-by: Rüdiger Herrmann <ruediger.herrmann@gmx.de>
2020-12-21 18:15:17 +00:00
Rüdiger Herrmann
658ba9e29c Delete related whitespace when removing unused param
Include adjacent whitespace in the text edits to remove the
parameter declaration and its occurences in calling code.

https://github.com/rust-analyzer/rust-analyzer/issues/6663
2020-12-21 18:42:42 +01:00
bors[bot]
c8a73fe655
Merge #6982
6982: Remove parentheses when inverting `!(cond)` r=matklad a=Jesse-Bakker

Followup to #6894

When inverting a composite condition twice, the parentheses were left. This also removes those unnecessary parentheses when applying the invert-if assist.

Co-authored-by: Jesse Bakker <github@jessebakker.com>
2020-12-21 16:57:49 +00:00
Jesse Bakker
2e7abf8384 Remove parentheses when inverting !(cond) 2020-12-21 17:37:38 +01:00
bors[bot]
71c8073aa1
Merge #6981
6981: Acquire original text range when searching for references r=Veykril a=Veykril

Fixes #6976

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-12-21 16:29:59 +00:00
Lukas Wirth
a4f34e2c8c Acquire original text range when searching for references 2020-12-21 17:28:47 +01:00
bors[bot]
04525253a0
Merge #6978
6978: Filter out empty rustc spans r=lnicola a=jonas-schievink

Hopefully, this fixes https://github.com/rust-analyzer/rust-analyzer/issues/6892 (I couldn't test it since r-a currently requires a too recent version of VS Code)

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2020-12-21 15:16:16 +00:00
Jonas Schievink
ee8d7a7123 Filter out empty rustc spans 2020-12-21 15:38:27 +01:00
bors[bot]
ab343e47c6
Merge #6977
6977: Revert "Stop setting CompletionItem::deprecated" r=lnicola a=lnicola

We should keep setting it, according to https://github.com/rust-analyzer/rust-analyzer/pull/6974#issuecomment-748983789.

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2020-12-21 14:00:34 +00:00
Laurențiu Nicola
328e0e2de7 Revert "Stop setting CompletionItem::deprecated"
This reverts commit 299ce60995.
2020-12-21 15:58:26 +02:00
bors[bot]
7843ae6ddb
Merge #6974
6974: Stop setting CompletionItem::deprecated r=matklad a=lnicola

Closes #2042

We're now using the `CompletionItem::tags` field to mark `CompletionItem`s as deprecated, and `CompletionItem::deprecated` is gone from LSP.

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2020-12-21 12:10:01 +00:00
Laurențiu Nicola
299ce60995 Stop setting CompletionItem::deprecated 2020-12-21 13:18:25 +02:00
bors[bot]
9bb9fbab3a
Merge #6965
6965: Properly attach attributes to Param instead of parent ParamList r=matklad a=Veykril

Fixes #2783, fixes #2781

The problem with `let _a = [0,#[cfg(feature = "L")]0];` has already been fixed some time ago it seems:
<details>
  <summary>Syntax Tree for the const item</summary>

```
  LET_STMT@200..236
    LET_KW@200..203 "let"
    WHITESPACE@203..204 " "
    IDENT_PAT@204..206
      NAME@204..206
        IDENT@204..206 "_a"
    WHITESPACE@206..207 " "
    EQ@207..208 "="
    WHITESPACE@208..209 " "
    ARRAY_EXPR@209..235
      L_BRACK@209..210 "["
      LITERAL@210..211
        INT_NUMBER@210..211 "0"
      COMMA@211..212 ","
      LITERAL@212..234
        ATTR@212..233
          POUND@212..213 "#"
          L_BRACK@213..214 "["
          PATH@214..217
            PATH_SEGMENT@214..217
              NAME_REF@214..217
                IDENT@214..217 "cfg"
          TOKEN_TREE@217..232
            L_PAREN@217..218 "("
            IDENT@218..225 "feature"
            WHITESPACE@225..226 " "
            EQ@226..227 "="
            WHITESPACE@227..228 " "
            STRING@228..231 "\"L\""
            R_PAREN@231..232 ")"
          R_BRACK@232..233 "]"
        INT_NUMBER@233..234 "0"
      R_BRACK@234..235 "]"
    SEMICOLON@235..236 ";"
```
</details>

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-12-21 08:54:31 +00:00
bors[bot]
fa75e11eb6
Merge #6967
6967: Correctly parse legacy trait objects with leading ForType r=matklad a=Veykril

Fixes #1422

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-12-21 08:46:42 +00:00
bors[bot]
c3d21ea05a
Merge #6968
6968: Update syn and quote r=kjeremy a=kjeremy



Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
2020-12-20 22:31:18 +00:00
Jeremy Kolb
f4df2d164d Update syn and quote 2020-12-20 17:26:44 -05:00
Lukas Wirth
3ea4d43850 Properly parse legacy trait objects with leading ForType 2020-12-20 21:53:55 +01:00
Lukas Wirth
64caa027b8 Parse attributes in tuple expressions 2020-12-20 21:01:36 +01:00
Lukas Wirth
4be9ed675e Properly attach attributes to Param instead of parent ParamList 2020-12-20 20:30:18 +01:00
bors[bot]
99f23e2f87
Merge #6963
6963: Split lines between sentences r=lnicola a=lnicola

bors r+

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2020-12-20 17:32:19 +00:00
Laurențiu Nicola
6fbe22bfbb Split lines between sentences 2020-12-20 19:31:08 +02:00
bors[bot]
6cfbeb3d58
Merge #6961
6961: Document the version requirements for building from source r=lnicola a=lnicola

Fixes #6667

bors r+

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2020-12-20 15:11:54 +00:00
Laurențiu Nicola
0ecb224d75 Document the version requirements for building from source 2020-12-20 17:10:54 +02:00
bors[bot]
8eea4c9d3b
Merge #6959
6959: Use pattern_single instead of pattern in mbe pat r=jonas-schievink a=edwin0cheng

Fix #6882

Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2020-12-20 14:08:53 +00:00
bors[bot]
eefbae7ed4
Merge #6921
6921: Higher-ranked trait bounds for where clauses r=flodiebold a=Veykril

There is a slight problem with this which is also noted in a FIXME now but `LifetimeParameters` of these ForLifetime where clauses allocate the lifetimes in the corresponding arena as if they were lifetimes of the item itself and not just the clause they belong to. I wasn't entirely sure what I could do about this but given nothing really uses lifetimes like that currently I figured it might be fine? Open to suggestions for that problem.

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-12-20 11:47:01 +00:00
Edwin Cheng
f942d10e80 Use pattern_single instead of pattern in mbe pat 2020-12-20 17:13:40 +08:00
bors[bot]
f3125555a8
Merge #6958
6958: Align code_model name with ungrammar r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-12-20 07:06:55 +00:00
Aleksey Kladov
f6ed16674c Align code_model name with ungrammar 2020-12-20 10:05:24 +03:00
bors[bot]
87886e8986
Merge #6929
6929: Handle $_ in mbe r=edwin0cheng a=lnicola

Fixes #6926

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2020-12-20 06:33:19 +00:00
Laurențiu Nicola
75a26f64ff mbe: treat _ as ident 2020-12-20 08:06:17 +02:00
bors[bot]
02fb3cb542
Merge #6954
6954: cargo update r=kjeremy a=kjeremy



Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
2020-12-19 19:05:43 +00:00
Jeremy Kolb
00d4b156af cargo update 2020-12-19 14:04:31 -05:00
bors[bot]
feff4f3a04
Merge #6953
6953: Add test_rename_bind_pat r=bjorn3 a=bjorn3

Fixes #2976

Co-authored-by: bjorn3 <bjorn3@users.noreply.github.com>
2020-12-19 18:56:50 +00:00
bjorn3
9fe85e1fdf Add test_rename_bind_pat 2020-12-19 19:55:44 +01:00
bors[bot]
052e7227b6
Merge #6946
6946: Better fuzzy heuristics r=matklad a=SomeoneToIgnore

Continuation of the https://github.com/rust-analyzer/rust-analyzer/pull/6922, mainly created for a test.

Turns out our current completions tests were sorting the completions by label, I had to remove that to test the order properly and update this order in a bunch of tests (ergo the changes)

Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
2020-12-19 18:43:20 +00:00
Kirill Bulatov
b45ec84739 Fewer allocations 2020-12-19 20:42:16 +02:00
bors[bot]
8b73135b11
Merge #6951
6951: Make sure that HighlightModifier::ALL is synchronized with enum r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-12-19 15:48:09 +00:00
Aleksey Kladov
9f6d76da77 Make sure that HighlightModifier::ALL is synchronized with enum 2020-12-19 18:47:36 +03:00
bors[bot]
df3652b663
Merge #6948
6948: Add API for mapping `Attr` back to its syntax node r=jonas-schievink a=jonas-schievink

This will be useful for emitting diagnostics pertaining to a specific attribute

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2020-12-19 14:25:33 +00:00
bors[bot]
e9440f598d
Merge #6949
6949: Clarify the meaning of no-op highlight tag r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-12-19 14:19:13 +00:00
Aleksey Kladov
113688cef0 Clarify the meaning of no-op highlight tag 2020-12-19 17:16:05 +03:00
Jonas Schievink
218e88ab55 Add API for mapping Attr back to its syntax node 2020-12-19 15:15:02 +01:00
bors[bot]
067d22b61b
Merge #6947
6947: Use more Rustic highlighting specifiers r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-12-19 14:12:07 +00:00
Aleksey Kladov
a13947abe6 Use more Rustic highlighting specifiers
*Method* works for OO languages, but in rust we can also have
associated constants & types, so let's move this to a modifier.
2020-12-19 17:10:47 +03:00
Kirill Bulatov
0415dcd832 Tidy up 2020-12-19 14:13:27 +02:00
Kirill Bulatov
8c292e3cc5 Keep the original completion order in tests 2020-12-19 13:18:40 +02:00
Kirill Bulatov
5fa078f26f Add a slightly better fuzzy search heuristics 2020-12-19 12:54:17 +02:00
bors[bot]
bd270cbc02
Merge #6944
6944: Make attribute API more private r=jonas-schievink a=jonas-schievink

bors r+

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2020-12-19 01:52:51 +00:00
Jonas Schievink
a2062d1892 Make RawAttrs crate-private
There should be no need to use this from outside
2020-12-19 02:44:22 +01:00
Jonas Schievink
81ccf37d3b Remove Attrs::merge
Only the `RawAttrs` version of this is in use
2020-12-19 02:43:00 +01:00