]> git.lizzy.rs Git - rust.git/log
rust.git
2 years agofix: flyimport triggers on enum variant declarations
zhoufan [Sun, 14 Nov 2021 04:16:21 +0000 (12:16 +0800)]
fix: flyimport triggers on enum variant declarations

2 years agoMerge #10761
bors[bot] [Sat, 13 Nov 2021 23:42:16 +0000 (23:42 +0000)]
Merge #10761

10761: inlay hints: add the option to always show constructor inlay hints r=Veykril a=jhgg

This PR adds a config to *disable* the functionality in #10441 - _and makes that functionality disabled by default._

I actually *really* like inlay hints always showing up, and it helps a lot as a teaching tool too, and also it's quite reassuring to know that r-a indeed understands the code I've written. This PR adds the option `rust-analyzer.inlayHints.hideNamedConstructorHints` (i can also invert this to be `rust-analyzer.inlayHints.showNamedConstructorHints`, just let me know.)

Co-authored-by: Jake Heinz <jh@discordapp.com>
2 years agoflip the default
Jake Heinz [Sat, 13 Nov 2021 23:39:34 +0000 (23:39 +0000)]
flip the default

2 years agoinlay hints: add the option to always show constructor inlay hints
Jake Heinz [Sat, 13 Nov 2021 23:12:29 +0000 (23:12 +0000)]
inlay hints: add the option to always show constructor inlay hints

2 years agoMerge #10758
bors[bot] [Sat, 13 Nov 2021 15:56:25 +0000 (15:56 +0000)]
Merge #10758

10758: Update docs: include Gentoo source build r=lnicola a=mjkalyan

Mention the dev-util/rust-analyzer package for building from source.

Co-authored-by: mjkalyan <34904034+mjkalyan@users.noreply.github.com>
2 years agoUpdate docs: include Gentoo source build
mjkalyan [Sat, 13 Nov 2021 01:26:21 +0000 (18:26 -0700)]
Update docs: include Gentoo source build

Mention the dev-util/rust-analyzer package for building from source.

2 years agoMerge #10756
bors[bot] [Fri, 12 Nov 2021 21:05:54 +0000 (21:05 +0000)]
Merge #10756

10756: Allow the check command to terminate without output r=Veykril a=Wilfred

Cargo will always output something on success:

```
$ cargo check --message-format=json
{"reason":"compiler-artifact", ... snipped ... }
{"reason":"build-finished","success":true}
```

However, rustc does not output anything on success:

```
$ rustc --error-format=json main.rs
$ echo $?
0
```

Restore the behaviour prior to #10517, where an exit code of 0 is
considered good even if nothing is written to stdout.

This enables custom overrideCommand values that use rustc rather than
cargo.

Co-authored-by: Wilfred Hughes <me@wilfred.me.uk>
2 years agoAllow the check command to terminate without output
Wilfred Hughes [Fri, 12 Nov 2021 19:43:20 +0000 (11:43 -0800)]
Allow the check command to terminate without output

Cargo will always output something on success:

```
$ cargo check --message-format=json
{"reason":"compiler-artifact", ... snipped ... }
{"reason":"build-finished","success":true}
```

However, rustc does not output anything on success:

```
$ rustc --error-format=json main.rs
$ echo $?
0
```

Restore the behaviour prior to #10517, where an exit code of 0 is
considered good even if nothing is written to stdout.

This enables custom overrideCommand values that use rustc rather than
cargo.

2 years agoMerge #10755
bors[bot] [Fri, 12 Nov 2021 19:32:04 +0000 (19:32 +0000)]
Merge #10755

10755: Fix type names in typescript sample code r=lnicola a=Wilfred

`bool` is Rust, whereas `boolean` is the type name in TypeScript.

Co-authored-by: Wilfred Hughes <me@wilfred.me.uk>
2 years agoFix type names in typescript sample code
Wilfred Hughes [Fri, 12 Nov 2021 19:15:08 +0000 (11:15 -0800)]
Fix type names in typescript sample code

2 years agoMerge #10747
bors[bot] [Thu, 11 Nov 2021 17:48:45 +0000 (17:48 +0000)]
Merge #10747

10747: fix: Remove faulty logic for ascending test attributes for runnables r=Veykril a=Veykril

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

- This logic is currently not required as we do not expand test/bench anymore for the time being
- The implementation of this was flawed to begin with as it just skipped out of macro expansions instead of ascending the trees inside expansions

bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2 years agoRemove faulty logic for ascending test attributes for runnables
Lukas Wirth [Thu, 11 Nov 2021 17:47:24 +0000 (18:47 +0100)]
Remove faulty logic for ascending test attributes for runnables

2 years agoMerge #10745
bors[bot] [Thu, 11 Nov 2021 17:21:37 +0000 (17:21 +0000)]
Merge #10745

10745: internal: Replace some more ide usages of ModuleDef with Definition r=Veykril a=Veykril

bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2 years agoReplace some more ide usages of ModuleDef with Definition
Lukas Wirth [Thu, 11 Nov 2021 17:20:54 +0000 (18:20 +0100)]
Replace some more ide usages of ModuleDef with Definition

2 years agoMerge #10743
bors[bot] [Thu, 11 Nov 2021 13:45:20 +0000 (13:45 +0000)]
Merge #10743

10743: feat: index fewer crates on startup/reload r=jonas-schievink a=jonas-schievink

Before this PR, we used to index every crate in the `CrateGraph`, which includes every test, benchmark and example of all packages everywhere. The point of indexing is to speed up future queries, so indexing lots of tiny crates users are unlikely to open isn't really helpful.

This PR instead makes us index only the transitive dependencies of all workspace crates.

This reduces the number of crates we index in the rust-analyzer repo from 617 to 177 (!). Time is not impacted by that much, because most of the skipped crates are tiny.

bors r+

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2 years agoPrime a more reasonable set of crates
Jonas Schievink [Thu, 11 Nov 2021 13:39:20 +0000 (14:39 +0100)]
Prime a more reasonable set of crates

2 years agoMerge #10741
bors[bot] [Wed, 10 Nov 2021 23:19:44 +0000 (23:19 +0000)]
Merge #10741

10741: internal: Flatten Definition::ModuleDef variant r=Veykril a=Veykril

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2 years agointernal: Flatten `Definition::ModuleDef` variant
Lukas Wirth [Wed, 10 Nov 2021 21:02:50 +0000 (22:02 +0100)]
internal: Flatten `Definition::ModuleDef` variant

2 years agoMerge #10689
bors[bot] [Wed, 10 Nov 2021 21:08:51 +0000 (21:08 +0000)]
Merge #10689

10689: Handle pub tuple fields in tuple structs r=Veykril a=adamrk

The current implementation will throw a parser error for tuple structs
that contain a pub tuple field. For example,
```rust
struct Foo(pub (u32, u32));
```
is valid Rust, but rust-analyzer will throw a parser error.  This is
because the parens after `pub` is treated as a visibility context.
Allowing a tuple type to follow `pub` in the special case when we are
defining fields in a tuple struct can fix the issue.

I guess this is a really minor case because there's not much reason
for having a tuple type within a struct tuple, but it is valid rust syntax...

Co-authored-by: Adam Bratschi-Kaye <ark.email@gmail.com>
2 years agoHandle pub tuple fields in tuple structs
Adam Bratschi-Kaye [Wed, 3 Nov 2021 22:57:46 +0000 (23:57 +0100)]
Handle pub tuple fields in tuple structs

The current implementation will throw a parser error for tuple structs
that contain a pub tuple field. For example,
```rust
struct Foo(pub (u32, u32));
```
is valid Rust, but rust-analyzer will throw a parser error.  This is
because the parens after `pub` is treated as a visibility context.
Allowing a tuple type to follow `pub` in the special case when we are
defining fields in a tuple struct can fix the issue.

2 years agoMerge #10739
bors[bot] [Wed, 10 Nov 2021 17:27:24 +0000 (17:27 +0000)]
Merge #10739

10739: internal: Simplify r=Veykril a=Veykril

bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2 years agoSimplify
Lukas Wirth [Wed, 10 Nov 2021 16:33:35 +0000 (17:33 +0100)]
Simplify

2 years agoMerge #10729
bors[bot] [Wed, 10 Nov 2021 16:47:35 +0000 (16:47 +0000)]
Merge #10729

10729: Fix: Lookup impls in local def maps r=jonas-schievink a=XFFXFF

fixes #10676

Co-authored-by: zhoufan <1247714429@qq.com>
2 years agoMerge #10738
bors[bot] [Wed, 10 Nov 2021 15:12:05 +0000 (15:12 +0000)]
Merge #10738

10738: internal: Do not search through all three namespaces in `ItemScope::name_of` r=Veykril a=Veykril

Brings down `5ms - find_path_prefixed (46 calls)` to `1ms - find_path_prefixed (46 calls)` for me on the `integrated_completion_benchmark`.
Still `O(n)` but this should considerably cut down lookups nevertheless(as shown by the timings already).
bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2 years agoDo not search through all three namespaces in `ItemScope::name_of`
Lukas Wirth [Wed, 10 Nov 2021 15:06:16 +0000 (16:06 +0100)]
Do not search through all three namespaces in `ItemScope::name_of`

2 years agoMerge #10731
bors[bot] [Tue, 9 Nov 2021 22:11:32 +0000 (22:11 +0000)]
Merge #10731

10731: fix: show the right check-command r=Veykril a=Florian-Schoenherr

Currenty r.a. only shows this:
![image](https://user-images.githubusercontent.com/65456722/140977478-e6bc8a45-7c25-4578-9406-fb34f1eb0792.png)
even if another command was specified

There might be a better way to do this, I tried.

Co-authored-by: Florian-Schoenherr <florian.schoenherr99@gmail.com>
2 years agofix: show the right check-command
Florian-Schoenherr [Tue, 9 Nov 2021 20:52:55 +0000 (21:52 +0100)]
fix: show the right check-command

Signed-off-by: Florian-Schoenherr <florian.schoenherr99@gmail.com>
2 years agoMerge #10732
bors[bot] [Tue, 9 Nov 2021 18:06:23 +0000 (18:06 +0000)]
Merge #10732

10732: minor: Bump deps r=lnicola a=lnicola

bors r+

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2 years agoBump chalk
Laurențiu Nicola [Tue, 9 Nov 2021 18:05:04 +0000 (20:05 +0200)]
Bump chalk

2 years agoBump libc and paste
Laurențiu Nicola [Tue, 9 Nov 2021 18:03:48 +0000 (20:03 +0200)]
Bump libc and paste

2 years agolookup impls in local del maps
zhoufan [Tue, 9 Nov 2021 10:13:42 +0000 (18:13 +0800)]
lookup impls in local del maps

2 years agoMerge #10726
bors[bot] [Mon, 8 Nov 2021 18:42:10 +0000 (18:42 +0000)]
Merge #10726

10726: minor: Add some completion profile spans r=Veykril a=Veykril

bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2 years agoAdd some completion profile spans
Lukas Wirth [Mon, 8 Nov 2021 18:41:16 +0000 (19:41 +0100)]
Add some completion profile spans

2 years agoMerge #10722
bors[bot] [Mon, 8 Nov 2021 14:08:49 +0000 (14:08 +0000)]
Merge #10722

10722: fix: Fix proc-macro attributes being shadowed by their functions in IDE layer r=Veykril a=Veykril

We sometimes still didn't resolve proc-macro attrs in attribute paths in the ide crates due to their function definitions resolving first.
bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2 years agoFix proc-macro attributes being shadowed by their functions in IDE layer
Lukas Wirth [Mon, 8 Nov 2021 13:31:46 +0000 (14:31 +0100)]
Fix proc-macro attributes being shadowed by their functions in IDE layer

2 years agoMerge #10688
bors[bot] [Mon, 8 Nov 2021 13:37:34 +0000 (13:37 +0000)]
Merge #10688

10688: internal: Type-check TS on CI and also turn off the strict setting `useUnknownInCatchVariables` r=lnicola a=ChayimFriedman2

We don't follow it and I found that turning it on will have little benefit.

I'm not sure if we should also type-check when building in launch.json.

Co-authored-by: Chayim Refael Friedman <chayimfr@gmail.com>
2 years agoMerge #10720
bors[bot] [Mon, 8 Nov 2021 13:12:03 +0000 (13:12 +0000)]
Merge #10720

10720: fix: Don't ascribe types in pattern completion for param patterns twice r=Veykril a=Veykril

Fixes #10323
bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2 years agoAdd test for current incorrect behaviour
Lukas Wirth [Mon, 8 Nov 2021 13:10:26 +0000 (14:10 +0100)]
Add test for current incorrect behaviour

2 years agoMerge #10699
bors[bot] [Sun, 7 Nov 2021 11:13:15 +0000 (11:13 +0000)]
Merge #10699

10699: internal: Make CompletionItem `label` and `lookup` fields `SmolStr`s r=Veykril a=Veykril

This replaces a bunch of String clones with SmolStr clones, though also makes a few parts a bit more expensive(mainly things involving `format!`ted strings as labels).

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2 years agoMerge #10698
bors[bot] [Sun, 7 Nov 2021 11:02:39 +0000 (11:02 +0000)]
Merge #10698

10698: implement multi-token mapping for ssr r=Veykril a=spookyvision

Co-authored-by: Anatol Ulrich <anatol.ulrich@ferrous-systems.com>
2 years agoMerge #10712
bors[bot] [Sun, 7 Nov 2021 08:03:03 +0000 (08:03 +0000)]
Merge #10712

10712: minor: Avoid deprecated methods in client-side tests r=lnicola a=lnicola

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2 years agoAvoid deprecated methods in client-side tests
Laurențiu Nicola [Sun, 7 Nov 2021 08:00:58 +0000 (10:00 +0200)]
Avoid deprecated methods in client-side tests

2 years agoMerge #10709
bors[bot] [Sat, 6 Nov 2021 15:41:32 +0000 (15:41 +0000)]
Merge #10709

10709: minor: Bump deps r=lnicola a=lnicola

bors r+

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2 years agoBump deps
Laurențiu Nicola [Sat, 6 Nov 2021 15:12:34 +0000 (17:12 +0200)]
Bump deps

2 years agoDon't ascribe types in pattern completion for patterns twice
Lukas Wirth [Fri, 5 Nov 2021 17:39:36 +0000 (18:39 +0100)]
Don't ascribe types in pattern completion for patterns twice

2 years agoMerge #10706
bors[bot] [Fri, 5 Nov 2021 17:34:16 +0000 (17:34 +0000)]
Merge #10706

10706: minor: Show how to create `~/.local/bin` r=lnicola a=lnicola

Closes #10687

bors r+

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2 years agoShow how to create `~/.local/bin`
Laurențiu Nicola [Fri, 5 Nov 2021 17:32:55 +0000 (19:32 +0200)]
Show how to create `~/.local/bin`

2 years agoMerge #10704
bors[bot] [Fri, 5 Nov 2021 15:06:37 +0000 (15:06 +0000)]
Merge #10704

10704: internal: Short-circuit `descend_into_macros_single` r=Veykril a=Veykril

There is no need to descend everything if all we are interested in is the first mapping.
This bring `descend_into_macros` timing in highlighting in `rust-analyzer/src/config.rs` from `154ms - descend_into_macros (2190 calls)` to `24ms - descend_into_macros (2190 calls)` since we use the single variant there(will regress once we want to highlight multiple namespaces again though).
bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2 years agoShort-circuit descend_into_macros_single
Lukas Wirth [Fri, 5 Nov 2021 15:02:56 +0000 (16:02 +0100)]
Short-circuit descend_into_macros_single

2 years agoDon't search for root nodes unnecessarily
Lukas Wirth [Fri, 5 Nov 2021 14:52:10 +0000 (15:52 +0100)]
Don't search for root nodes unnecessarily

2 years agoMerge #10703
bors[bot] [Fri, 5 Nov 2021 13:53:59 +0000 (13:53 +0000)]
Merge #10703

10703: internal: Don't check items for macro calls if they have no attributes r=Veykril a=Veykril

Turns out when highlighting we currently populate the Dynmaps of pretty much every item in a file, who would've known that would be so costly...
Shaves off 250 ms for the integrated benchmark on `rust-analyzer/src/config.rs`.

We are still looking at a heft `154ms - descend_into_macros (2190 calls)` but I feel like this is slowly nearing towards just call overhead.
bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2 years agoDon't check items for macro calls if they have no attributes
Lukas Wirth [Fri, 5 Nov 2021 13:50:10 +0000 (14:50 +0100)]
Don't check items for macro calls if they have no attributes

2 years agoMerge #10701
bors[bot] [Fri, 5 Nov 2021 13:26:56 +0000 (13:26 +0000)]
Merge #10701

10701: internal: Cache ast::MacroCalls to their expansions in Semantics::descend_into_macros_impl r=Veykril a=Veykril

Saves ~45ms when highlighting `rust-analyzer/src/config.rs` for me
bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2 years agoCache ast::MacroCalls to their expansions in Semantics::descend_into_macros_impl
Lukas Wirth [Fri, 5 Nov 2021 13:25:47 +0000 (14:25 +0100)]
Cache ast::MacroCalls to their expansions in Semantics::descend_into_macros_impl

2 years agoReplace some String usages with SmolStr in completions
Lukas Wirth [Fri, 5 Nov 2021 11:30:39 +0000 (12:30 +0100)]
Replace some String usages with SmolStr in completions

2 years agoMerge #10685
bors[bot] [Fri, 5 Nov 2021 11:25:17 +0000 (11:25 +0000)]
Merge #10685

10685: fix: Enable markdown tables r=Veykril a=Veykril

Should fix https://github.com/rust-analyzer/rust-analyzer/issues/10655
bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2 years agomaybe?
Anatol Ulrich [Thu, 4 Nov 2021 21:01:59 +0000 (22:01 +0100)]
maybe?

2 years agoMerge #10696
bors[bot] [Thu, 4 Nov 2021 17:13:33 +0000 (17:13 +0000)]
Merge #10696

10696: internal: Replace more Name::to_string usages with Name::to_smol_str r=Veykril a=Veykril

Gets rid of some more unnecessary string allocs
bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2 years agoReplace more Name::to_string usages with Name::to_smol_str
Lukas Wirth [Thu, 4 Nov 2021 17:12:05 +0000 (18:12 +0100)]
Replace more Name::to_string usages with Name::to_smol_str

2 years agoEnable markdown tables
Lukas Wirth [Wed, 3 Nov 2021 14:40:41 +0000 (15:40 +0100)]
Enable markdown tables

2 years agoMerge #10645
bors[bot] [Thu, 4 Nov 2021 16:31:16 +0000 (16:31 +0000)]
Merge #10645

10645: fix: make `rename` multi-token mapping aware r=Veykril a=spookyvision

Co-authored-by: Anatol Ulrich <anatol.ulrich@ferrous-systems.com>
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Co-authored-by: Anatol Ulrich <45840+spookyvision@users.noreply.github.com>
2 years agoMerge #10691
bors[bot] [Thu, 4 Nov 2021 05:52:05 +0000 (05:52 +0000)]
Merge #10691

10691: minor: Use array `into_iter` in more places r=lnicola a=lnicola

bors r+

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2 years agoUse array into_iter in more places
Laurențiu Nicola [Wed, 3 Nov 2021 12:21:46 +0000 (14:21 +0200)]
Use array into_iter in more places

2 years agoType-check TS on CI and also turn off the strict setting `useUnknownInCatchVariables`
Chayim Refael Friedman [Wed, 3 Nov 2021 23:23:45 +0000 (01:23 +0200)]
Type-check TS on CI and also turn off the strict setting `useUnknownInCatchVariables`

We don't follow it and I found that turning it on will have little benefit.

2 years agoMerge #10686
bors[bot] [Wed, 3 Nov 2021 20:23:14 +0000 (20:23 +0000)]
Merge #10686

10686: internal: Add `Semantics::original_ast_node` for upmapping nodes out of macro files r=Veykril a=Veykril

Fixes trying to insert imports into macro expanded files which then do text edits on very wrong text ranges.

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2 years agoAdd Semantics::original_ast_node for upmapping nodes out of macro files
Lukas Wirth [Wed, 3 Nov 2021 20:12:36 +0000 (21:12 +0100)]
Add Semantics::original_ast_node for upmapping nodes out of macro files

2 years agoMerge #10680
bors[bot] [Wed, 3 Nov 2021 16:19:42 +0000 (16:19 +0000)]
Merge #10680

10680: implement Literal::from_str r=jonas-schievink a=spookyvision

this apparently fixes RTIC 0.6's
```rust
#[rtic::app]
mod app {}
```

Co-authored-by: Anatol Ulrich <anatol.ulrich@ferrous-systems.com>
2 years agoimplement Literal::from_str
Anatol Ulrich [Tue, 2 Nov 2021 20:42:17 +0000 (21:42 +0100)]
implement Literal::from_str

2 years agoMerge #10667
bors[bot] [Wed, 3 Nov 2021 14:50:39 +0000 (14:50 +0000)]
Merge #10667

10667: internal: Expose version string of crates from HIR r=Veykril a=Veykril

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

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2 years agoUpdate crates/text_edit/src/lib.rs
Anatol Ulrich [Wed, 3 Nov 2021 14:44:46 +0000 (15:44 +0100)]
Update crates/text_edit/src/lib.rs

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2 years agoUpdate crates/ide/src/rename.rs
Anatol Ulrich [Wed, 3 Nov 2021 14:44:32 +0000 (15:44 +0100)]
Update crates/ide/src/rename.rs

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2 years agoExpose version string of crates fom HIR
Lukas Wirth [Sat, 30 Oct 2021 14:17:04 +0000 (16:17 +0200)]
Expose version string of crates fom HIR

2 years agoMerge #10596
bors[bot] [Wed, 3 Nov 2021 14:02:10 +0000 (14:02 +0000)]
Merge #10596

10596: internal: Set server status to warning when proc-macro sources change r=Veykril a=Veykril

Fixes https://github.com/rust-analyzer/rust-analyzer/issues/10027
![image](https://user-images.githubusercontent.com/3757771/138102552-208d3edf-a843-49e6-9f48-1e911f54a4ba.png)

It feels wrong using the database in this part of the code, but this was the only way to figure out whether a file belongs to a proc-macro that I could think of.

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2 years agoAdd disjoint check back in TextEdit::union
Lukas Wirth [Wed, 3 Nov 2021 13:42:15 +0000 (14:42 +0100)]
Add disjoint check back in TextEdit::union

2 years agoforgot a dbg
Anatol Ulrich [Wed, 3 Nov 2021 13:21:29 +0000 (14:21 +0100)]
forgot a dbg

2 years agoMerge #10683
bors[bot] [Wed, 3 Nov 2021 07:40:23 +0000 (07:40 +0000)]
Merge #10683

10683: minor: Use `.into_iter()` method on array to avoid dereference r=lnicola a=arzg

Arguably it’s nicer to just use `.into_iter()` instead of iterating over references which are immediately dereferenced.

I also changed the use of `String::from` to `.to_string()` because the latter has around twenty times more usages in rust-analyzer.

Co-authored-by: Aramis Razzaghipour <aramisnoah@gmail.com>
2 years agoUse `.into_iter()` method on array to avoid dereference
Aramis Razzaghipour [Wed, 3 Nov 2021 05:13:47 +0000 (16:13 +1100)]
Use `.into_iter()` method on array to avoid dereference

2 years agoaccept identical Indels when merging; add rename test case
Anatol Ulrich [Tue, 2 Nov 2021 20:38:38 +0000 (21:38 +0100)]
accept identical Indels when merging; add rename test case

2 years agoMerge #10672
bors[bot] [Sun, 31 Oct 2021 10:16:59 +0000 (10:16 +0000)]
Merge #10672

10672: feat: upgrade ubuntu builders r=matklad a=matklad

For `-gnu` triples, use 20.04, the current LTS. This upgrades the
required version of glibc. For musl, just use `latest` as, presumably,
we don't care about glibc version in that case.

Hopefully, this unbreaks nightly publishing!

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2 years agominor: group -gnu builders together
Aleksey Kladov [Sun, 31 Oct 2021 10:07:30 +0000 (13:07 +0300)]
minor: group -gnu builders together

2 years agofeat: upgrade ubuntu builders
Aleksey Kladov [Sun, 31 Oct 2021 10:05:40 +0000 (13:05 +0300)]
feat: upgrade ubuntu builders

For `-gnu` triples, use 20.04, the current LTS. This upgrades the
required version of glibc. For musl, just use `latest` as, presumably,
we don't care about glibc version in that case.

2 years agoMerge #10671
bors[bot] [Sun, 31 Oct 2021 08:50:24 +0000 (08:50 +0000)]
Merge #10671

10671: minor: Run apt-get update for AArch64 builds r=lnicola a=lnicola

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2 years agoRun apt-get update for AArch64 builds
Laurențiu Nicola [Sun, 31 Oct 2021 08:49:43 +0000 (10:49 +0200)]
Run apt-get update for AArch64 builds

2 years agoMerge #10668
bors[bot] [Sat, 30 Oct 2021 14:42:53 +0000 (14:42 +0000)]
Merge #10668

10668: fix: Fix for-loop expressions breaking with BlockExpr iterable r=Veykril a=Veykril

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

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2 years agoFix for-loop expressions breaking with BlockExpr iterable
Lukas Wirth [Sat, 30 Oct 2021 14:37:32 +0000 (16:37 +0200)]
Fix for-loop expressions breaking with BlockExpr iterable

2 years agoSet server status to warning when proc-macro sources change
Lukas Wirth [Wed, 20 Oct 2021 13:29:50 +0000 (15:29 +0200)]
Set server status to warning when proc-macro sources change

2 years agoMerge #10663
bors[bot] [Sat, 30 Oct 2021 06:03:26 +0000 (06:03 +0000)]
Merge #10663

10663: minor: Bump `object` avoid a duplicate dependency r=lnicola a=lnicola

bors r+

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2 years agoBump object avoid a duplicate dependency
Laurențiu Nicola [Sat, 30 Oct 2021 06:02:45 +0000 (09:02 +0300)]
Bump object avoid a duplicate dependency

2 years agoMerge #10650
bors[bot] [Fri, 29 Oct 2021 20:27:51 +0000 (20:27 +0000)]
Merge #10650

10650: minor: Bump deps r=lnicola a=lnicola

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2 years agoBump chalk
Laurențiu Nicola [Wed, 27 Oct 2021 15:12:30 +0000 (18:12 +0300)]
Bump chalk

2 years agoBump some deps
Laurențiu Nicola [Wed, 27 Oct 2021 15:10:58 +0000 (18:10 +0300)]
Bump some deps

2 years agoMerge #10662
bors[bot] [Fri, 29 Oct 2021 16:16:13 +0000 (16:16 +0000)]
Merge #10662

10662: Fix Plaintext textDocument/hover r=Veykril a=vsrs

Relates to #10028

Note: the PR corrects only invalid content kind, not formatting.

Co-authored-by: vsrs <vit@conrlab.com>
2 years agoFix Plaintext textDocument/hover
vsrs [Fri, 29 Oct 2021 15:22:48 +0000 (18:22 +0300)]
Fix Plaintext textDocument/hover

2 years agoMerge #10648
bors[bot] [Fri, 29 Oct 2021 13:13:12 +0000 (13:13 +0000)]
Merge #10648

10648: fix: Don't discard attributed items when a proc-macro unexpectedly fails to expand r=Veykril a=Veykril

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

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2 years agoDon't discard attributed items when a proc-macro unexpectedly fails to expand
Lukas Wirth [Wed, 27 Oct 2021 12:35:58 +0000 (14:35 +0200)]
Don't discard attributed items when a proc-macro unexpectedly fails to expand

2 years agoMerge #10657
bors[bot] [Fri, 29 Oct 2021 13:01:49 +0000 (13:01 +0000)]
Merge #10657

10657: feat: Make unqualified derive attributes flyimportable r=Veykril a=Veykril

![UuwpKODbpB](https://user-images.githubusercontent.com/3757771/139436613-1e6eb8fd-f591-4fca-9383-ff7408ee9b18.gif)
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/10052

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2 years agofeat: Make unqualified derive attributes flyimportable
Lukas Wirth [Thu, 28 Oct 2021 17:19:30 +0000 (19:19 +0200)]
feat: Make unqualified derive attributes flyimportable

2 years agoMerge #10595
bors[bot] [Fri, 29 Oct 2021 10:40:43 +0000 (10:40 +0000)]
Merge #10595

10595: internal: Fix a format error r=Veykril a=dzvon

Fixes #10581

Co-authored-by: Dezhi Wu <wu543065657@163.com>
2 years agoFix: correct markdown link form.
Dezhi Wu [Fri, 29 Oct 2021 10:25:32 +0000 (18:25 +0800)]
Fix: correct markdown link form.

2 years agoFix: use a concise way to change link form when generating package.json
Dezhi Wu [Fri, 29 Oct 2021 02:00:10 +0000 (10:00 +0800)]
Fix: use a concise way to change link form when generating package.json