]> git.lizzy.rs Git - rust.git/log
rust.git
2 years agoAuto merge of #12060 - Veykril:completion-ctx, r=Veykril
bors [Sat, 23 Apr 2022 00:29:18 +0000 (00:29 +0000)]
Auto merge of #12060 - Veykril:completion-ctx, r=Veykril

minor: Simplify

bors r+

2 years agoSimplify
Lukas Wirth [Sat, 23 Apr 2022 00:21:27 +0000 (02:21 +0200)]
Simplify

2 years agoAuto merge of #12058 - jonas-schievink:one-thread-with-extra-stack-please, r=jonas...
bors [Fri, 22 Apr 2022 15:46:30 +0000 (15:46 +0000)]
Auto merge of #12058 - jonas-schievink:one-thread-with-extra-stack-please, r=jonas-schievink

fix: Spawn a new thread with a larger stack for the LSP and proc-macro server

This runs the server and proc-macro process in dedicated threads with 8 MB of stack space to paper over OS differences and fix occasional stack overflows.

This hopefully resolves https://github.com/rust-lang/rust-analyzer/issues/11669

2 years agoSpawn a new thread with a larger stack for the server
Jonas Schievink [Fri, 22 Apr 2022 15:30:18 +0000 (17:30 +0200)]
Spawn a new thread with a larger stack for the server

2 years agoAuto merge of #12054 - HKalbasi:const_generic, r=flodiebold
bors [Fri, 22 Apr 2022 15:22:49 +0000 (15:22 +0000)]
Auto merge of #12054 - HKalbasi:const_generic, r=flodiebold

Fix const generic panic in dyn trait

fix #12048

2 years agoremove trailing space
hkalbasi [Fri, 22 Apr 2022 14:59:10 +0000 (19:29 +0430)]
remove trailing space

2 years agoAdd some comments about why never!() never happens
hkalbasi [Fri, 22 Apr 2022 14:52:18 +0000 (19:22 +0430)]
Add some comments about why never!() never happens

2 years agoAuto merge of #12053 - willcrichton:master, r=jonas-schievink
bors [Fri, 22 Apr 2022 14:42:25 +0000 (14:42 +0000)]
Auto merge of #12053 - willcrichton:master, r=jonas-schievink

Export lc.LanguageClient from VSCode extension

As described in [this Zulip thread](https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Frust-analyzer/topic/Use.20Rust.20Analyzer.20in.20another.20VSCode.20extension), I would like to experiment with using Rust Analyzer's language server inside another VSCode extension, [Flowistry](https://github.com/willcrichton/flowistry). My current use case is to use one of Rust Analyzer's assists (extract function).

This PR would enable that experimentation by exporting the `lc.LanguageClient` from the `activate` function, which [allows other extensions to access it](https://code.visualstudio.com/api/references/vscode-api#extensions). This PR does **not** commit RA to any stability guarantees about the language client, similar to how rustc exports an unstable API.

2 years agofix const generic panic in dyn trait
hkalbasi [Thu, 21 Apr 2022 21:05:28 +0000 (01:35 +0430)]
fix const generic panic in dyn trait

2 years agoExport lc.LanguageClient from VSCode extension
Will Crichton [Thu, 21 Apr 2022 20:39:53 +0000 (13:39 -0700)]
Export lc.LanguageClient from VSCode extension

2 years agoAuto merge of #12052 - lnicola:cargo-config, r=lnicola
bors [Thu, 21 Apr 2022 18:10:37 +0000 (18:10 +0000)]
Auto merge of #12052 - lnicola:cargo-config, r=lnicola

minor: drop `install-ra` cargo alias

2 years agoRename cargo config to config.toml
Laurențiu Nicola [Thu, 21 Apr 2022 18:08:07 +0000 (21:08 +0300)]
Rename cargo config to config.toml

2 years agoRemove old install-ra cargo alias
Laurențiu Nicola [Thu, 21 Apr 2022 18:06:28 +0000 (21:06 +0300)]
Remove old install-ra cargo alias

2 years agoAuto merge of #12015 - arjo129:master, r=jonas-schievink
bors [Thu, 21 Apr 2022 16:52:10 +0000 (16:52 +0000)]
Auto merge of #12015 - arjo129:master, r=jonas-schievink

[Documentation]: Update developer documentation link.

Just noticed the docs links broken. The current doc link was broken. replaced with the updated version as found on the front page. Should the rest of the links be updated?

2 years agoAuto merge of #12051 - jonas-schievink:triagebot, r=jonas-schievink
bors [Thu, 21 Apr 2022 15:48:42 +0000 (15:48 +0000)]
Auto merge of #12051 - jonas-schievink:triagebot, r=jonas-schievink

Add triagebot.toml

Allow people to claim issues

2 years agoAdd triagebot.toml
Jonas Schievink [Thu, 21 Apr 2022 15:43:12 +0000 (17:43 +0200)]
Add triagebot.toml

2 years agoAuto merge of #12040 - rainy-me:improve-parameter-completion, r=jonas-schievink
bors [Thu, 21 Apr 2022 15:39:10 +0000 (15:39 +0000)]
Auto merge of #12040 - rainy-me:improve-parameter-completion, r=jonas-schievink

fix: Improve parameter completion

fix https://github.com/rust-lang/rust-analyzer/issues/12016 and handles some extra cases.

2 years agofix: lookup
rainy-me [Thu, 21 Apr 2022 15:07:42 +0000 (00:07 +0900)]
fix: lookup

2 years agoAuto merge of #12044 - tedinski:fix_rustc_workspace, r=jonas-schievink
bors [Thu, 21 Apr 2022 14:03:37 +0000 (14:03 +0000)]
Auto merge of #12044 - tedinski:fix_rustc_workspace, r=jonas-schievink

fix: index the correct CargoWorkspace with rustc_private

I believe this fixes #12043, but I'm not sufficiently setup/familiar with working on rust-analyzer to test it locally. :/

This section of code is iterating on `rustc_workspace.packages()` but then indexes `cargo[pkg]`, which is likely the source of the bug.

2 years agofix: index the correct CargoWorkspace with rustc_private
Ted Kaminski [Wed, 20 Apr 2022 17:16:04 +0000 (17:16 +0000)]
fix: index the correct CargoWorkspace with rustc_private

2 years agoAuto merge of #12042 - jonas-schievink:remove-angle-brackets-from-lang-config, r...
bors [Wed, 20 Apr 2022 14:54:24 +0000 (14:54 +0000)]
Auto merge of #12042 - jonas-schievink:remove-angle-brackets-from-lang-config, r=jonas-schievink

fix: remove angle brackets from language configuration

This should fix https://github.com/rust-lang/rust-analyzer/issues/12034

It looks like we shouldn't add any characters here that can be ambiguous, because it can make the editor highlight unrelated characters. This needs a parser to be correct, so the language server is the right place, not the editor. Upstream LSP feature request: https://github.com/microsoft/language-server-protocol/issues/672 (but it might be possible to implement this as an extension today, as long as that doesn't conflict with the built-in highlighting).

2 years agofix: remove angle brackets from language configuration
Jonas Schievink [Wed, 20 Apr 2022 14:43:24 +0000 (16:43 +0200)]
fix: remove angle brackets from language configuration

2 years agoAuto merge of #12041 - jonas-schievink:prefer-core-cfg-attr-no-std, r=jonas-schievink
bors [Wed, 20 Apr 2022 12:11:09 +0000 (12:11 +0000)]
Auto merge of #12041 - jonas-schievink:prefer-core-cfg-attr-no-std, r=jonas-schievink

feat: prefer core/alloc over std in auto-imports if `#[no_std]` is conditional

We already did this if `#![no_std]` was present, this PR makes it work with `#![cfg_attr(not(test), no_std)]` too, which is very common in libraries.

Fixes https://github.com/rust-lang/rust-analyzer/issues/12035
cc https://github.com/rust-lang/rust-analyzer/issues/10718

2 years agoPrefer core/alloc over std if no_std is conditional
Jonas Schievink [Wed, 20 Apr 2022 12:07:40 +0000 (14:07 +0200)]
Prefer core/alloc over std if no_std is conditional

2 years agofix: improve parameter completion
rainy-me [Wed, 20 Apr 2022 08:56:20 +0000 (17:56 +0900)]
fix: improve parameter completion

2 years agoAuto merge of #12037 - lnicola:inlay-hint-config, r=lnicola
bors [Wed, 20 Apr 2022 04:38:22 +0000 (04:38 +0000)]
Auto merge of #12037 - lnicola:inlay-hint-config, r=lnicola

fix: Remove `rust-analyzer.inlayHints.enable` and set language scope

Closes #12036
CC https://github.com/rust-lang/rust-analyzer/issues/12027#issuecomment-1102990324

The key was left there by mistake in #12006.

Setting the configuration scope only works if you already have it created, which is fine, but unfortunately not quite discoverable.

2 years agoPass the language id when toggling inlay hints
Laurențiu Nicola [Wed, 20 Apr 2022 04:34:00 +0000 (07:34 +0300)]
Pass the language id when toggling inlay hints

2 years agoActually remove rust-analyzer.inlayHints.enable
Laurențiu Nicola [Wed, 20 Apr 2022 04:33:26 +0000 (07:33 +0300)]
Actually remove rust-analyzer.inlayHints.enable

2 years agoAuto merge of #12032 - jonas-schievink:code-action-commands, r=jonas-schievink
bors [Tue, 19 Apr 2022 16:46:33 +0000 (16:46 +0000)]
Auto merge of #12032 - jonas-schievink:code-action-commands, r=jonas-schievink

feat: display signature help when applying "Add `::<>`" assist

Closes https://github.com/rust-lang/rust-analyzer/issues/12031

2 years agoAllows triggering commands after an assist edit
Jonas Schievink [Tue, 19 Apr 2022 16:37:18 +0000 (18:37 +0200)]
Allows triggering commands after an assist edit

2 years agoAuto merge of #12029 - xuhongxu96:master, r=lnicola
bors [Tue, 19 Apr 2022 07:57:12 +0000 (07:57 +0000)]
Auto merge of #12029 - xuhongxu96:master, r=lnicola

Fix typo "GreeNode" in syntax.md

2 years agoFix typo "GreeNode" in syntax.md
Hongxu Xu [Tue, 19 Apr 2022 07:45:03 +0000 (15:45 +0800)]
Fix typo "GreeNode" in syntax.md

2 years agoAuto merge of #12028 - lnicola:fix-changelog, r=lnicola
bors [Tue, 19 Apr 2022 06:09:32 +0000 (06:09 +0000)]
Auto merge of #12028 - lnicola:fix-changelog, r=lnicola

internal: Fix changelog generation after repo move

2 years agoFix changelog generation after repo move
Laurențiu Nicola [Tue, 19 Apr 2022 06:07:10 +0000 (09:07 +0300)]
Fix changelog generation after repo move

2 years agoAuto merge of #12025 - Veykril:completion-ctx, r=Veykril
bors [Mon, 18 Apr 2022 14:55:31 +0000 (14:55 +0000)]
Auto merge of #12025 - Veykril:completion-ctx, r=Veykril

minor: Document completion context some more

2 years agominor: Document completion context some more
Lukas Wirth [Mon, 18 Apr 2022 14:54:13 +0000 (16:54 +0200)]
minor: Document completion context some more

2 years agoAuto merge of #12021 - Veykril:completion-ctx, r=Veykril
bors [Mon, 18 Apr 2022 14:00:56 +0000 (14:00 +0000)]
Auto merge of #12021 - Veykril:completion-ctx, r=Veykril

internal: Add a `NameContext` to `CompletionContext`, move out some ImmediateLocation variants

Continues the completion rewrite I started some time ago
(will merge tomorrow after stable since our completion tests still let a lot through)

2 years agoAuto merge of #12024 - XFFXFF:derive_completion, r=Veykril
bors [Mon, 18 Apr 2022 13:40:18 +0000 (13:40 +0000)]
Auto merge of #12024 - XFFXFF:derive_completion, r=Veykril

derive completions take existing derives into count

fixes #12019

The immediate reason is that when we are doing derive completion, [`ctx.existing_derives`](https://github.com/rust-lang/rust-analyzer/blob/d1f6b4e2a0ab1a1343ab4a381c89b186a76fd001/crates/ide_completion/src/completions/attribute/derive.rs#L82) is empty, this is because we expand the macro when looking for the ancestors of the token to be completed. Take the following code as an example, we find the first `SyntaxNode` with kind `Attr` based on the ancestors of the token, but the parent of `Attr` is not a `Struct` as we [expect](https://github.com/rust-lang/rust-analyzer/blob/d1f6b4e2a0ab1a1343ab4a381c89b186a76fd001/crates/hir/src/semantics.rs#L518).
```rust
#[derive(PartialEq, Eq, Or$0)]
struct S;
```
The ancestors of the token to be completed above.
```
    NAME_REF@24..26
      IDENT@24..26 "Or"
    ,
    PATH_SEGMENT@24..26
      NAME_REF@24..26
        IDENT@24..26 "Or"
    ,
    PATH@24..26
      PATH_SEGMENT@24..26
        NAME_REF@24..26
          IDENT@24..26 "Or"
    ,
    META@24..26
      PATH@24..26
        PATH_SEGMENT@24..26
          NAME_REF@24..26
            IDENT@24..26 "Or"
    ,
    ATTR@21..28
      POUND@21..22 "#"
      WHITESPACE@22..23 " "
      L_BRACK@23..24 "["
      META@24..26
        PATH@24..26
          PATH_SEGMENT@24..26
            NAME_REF@24..26
              IDENT@24..26 "Or"
      R_BRACK@26..27 "]"
      WHITESPACE@27..28 " "
    ,
    TUPLE_EXPR@0..32
      ATTR@0..14
        POUND@0..1 "#"
        WHITESPACE@1..2 " "
        L_BRACK@2..3 "["
        META@3..12
          PATH@3..12
            PATH_SEGMENT@3..12
              NAME_REF@3..12
                IDENT@3..12 "PartialEq"
        R_BRACK@12..13 "]"
        WHITESPACE@13..14 " "
      ATTR@14..21
        POUND@14..15 "#"
        WHITESPACE@15..16 " "
        L_BRACK@16..17 "["
        META@17..19
          PATH@17..19
            PATH_SEGMENT@17..19
              NAME_REF@17..19
                IDENT@17..19 "Eq"
        R_BRACK@19..20 "]"
        WHITESPACE@20..21 " "
      ATTR@21..28
        POUND@21..22 "#"
        WHITESPACE@22..23 " "
        L_BRACK@23..24 "["
        META@24..26
          PATH@24..26
            PATH_SEGMENT@24..26
              NAME_REF@24..26
                IDENT@24..26 "Or"
        R_BRACK@26..27 "]"
        WHITESPACE@27..28 " "
      L_PAREN@28..29 "("
      WHITESPACE@29..30 " "
      R_PAREN@30..31 ")"
      WHITESPACE@31..32 " "
...
```

I make a small change to not do macro expansion when looking up the ancestors of the token.

What I don't understand is that `self.sema.token_ancestors_with_macros(self.token.clone())` doesn't seem to expand the macro if the derive completion triggered without any prefix, like `#[derive(PartialEq, Eq, $0)]`.

The ancestors of the token with  `#[derive(PartialEq, Eq, $0)]`.
```
    TOKEN_TREE@8..25
      L_PAREN@8..9 "("
      IDENT@9..18 "PartialEq"
      COMMA@18..19 ","
      WHITESPACE@19..20 " "
      IDENT@20..22 "Eq"
      COMMA@22..23 ","
      WHITESPACE@23..24 " "
      R_PAREN@24..25 ")"
    ,
    META@2..25
      PATH@2..8
        PATH_SEGMENT@2..8
          NAME_REF@2..8
            IDENT@2..8 "derive"
      TOKEN_TREE@8..25
        L_PAREN@8..9 "("
        IDENT@9..18 "PartialEq"
        COMMA@18..19 ","
        WHITESPACE@19..20 " "
        IDENT@20..22 "Eq"
        COMMA@22..23 ","
        WHITESPACE@23..24 " "
        R_PAREN@24..25 ")"
    ,
    ATTR@0..26
      POUND@0..1 "#"
      L_BRACK@1..2 "["
      META@2..25
        PATH@2..8
          PATH_SEGMENT@2..8
            NAME_REF@2..8
              IDENT@2..8 "derive"
        TOKEN_TREE@8..25
          L_PAREN@8..9 "("
          IDENT@9..18 "PartialEq"
          COMMA@18..19 ","
          WHITESPACE@19..20 " "
          IDENT@20..22 "Eq"
          COMMA@22..23 ","
          WHITESPACE@23..24 " "
          R_PAREN@24..25 ")"
      R_BRACK@25..26 "]"
    ,
    STRUCT@0..39
      ATTR@0..26
        POUND@0..1 "#"
        L_BRACK@1..2 "["
        META@2..25
          PATH@2..8
            PATH_SEGMENT@2..8
              NAME_REF@2..8
                IDENT@2..8 "derive"
          TOKEN_TREE@8..25
            L_PAREN@8..9 "("
            IDENT@9..18 "PartialEq"
            COMMA@18..19 ","
            WHITESPACE@19..20 " "
            IDENT@20..22 "Eq"
            COMMA@22..23 ","
            WHITESPACE@23..24 " "
            R_PAREN@24..25 ")"
        R_BRACK@25..26 "]"
      WHITESPACE@26..27 " "
      STRUCT_KW@27..33 "struct"
      WHITESPACE@33..34 " "
      NAME@34..38
        IDENT@34..38 "Test"
      SEMICOLON@38..39 ";"
...
```

2 years agoderive completions take existing derives into count
XFFXFF [Mon, 18 Apr 2022 13:34:36 +0000 (21:34 +0800)]
derive completions take existing derives into count

2 years agoAuto merge of #12023 - edwin0cheng:add-more-log, r=edwin0cheng
bors [Mon, 18 Apr 2022 07:13:30 +0000 (07:13 +0000)]
Auto merge of #12023 - edwin0cheng:add-more-log, r=edwin0cheng

internal: more visibility for switch workspaces and its states

2 years agoMore visibility for switch workspaces and its states
Edwin Cheng [Mon, 18 Apr 2022 06:26:00 +0000 (14:26 +0800)]
More visibility for switch workspaces and its states

2 years agointernal: Add a `NameContext` to `CompletionContext`, move out some ImmediateLocation...
Lukas Wirth [Sun, 17 Apr 2022 19:53:58 +0000 (21:53 +0200)]
internal: Add a `NameContext` to `CompletionContext`, move out some ImmediateLocation variants

2 years agoAuto merge of #12017 - lnicola:bump-deps, r=lnicola
bors [Sun, 17 Apr 2022 16:36:36 +0000 (16:36 +0000)]
Auto merge of #12017 - lnicola:bump-deps, r=lnicola

minor: Bump deps

2 years agoBump deps
Laurențiu Nicola [Sun, 17 Apr 2022 16:36:08 +0000 (19:36 +0300)]
Bump deps

2 years agoAuto merge of #12013 - XFFXFF:associated_const_equality, r=Veykril
bors [Sun, 17 Apr 2022 13:05:47 +0000 (13:05 +0000)]
Auto merge of #12013 - XFFXFF:associated_const_equality, r=Veykril

fix: support `associated_const_equality` in parser

This pr fixes #11965.  The parser now allows eq constraints on associated constants.

I've added tests for `HasCount<Count = {N}>` and `HasCount<Count = 0>`

2 years agoUpdate docs link
Arjo Chakravarty [Sun, 17 Apr 2022 12:32:06 +0000 (20:32 +0800)]
Update docs link

The current doc link was broken. replaced with the updated version as found on the front page.

2 years agoupdate parser to support associated const equality
XFFXFF [Sun, 17 Apr 2022 12:26:06 +0000 (20:26 +0800)]
update parser to support associated const equality

2 years agoAuto merge of #12014 - Veykril:expmacfmt, r=Veykril
bors [Sun, 17 Apr 2022 12:03:27 +0000 (12:03 +0000)]
Auto merge of #12014 - Veykril:expmacfmt, r=Veykril

feat: Attempt to format expand_macro output with rustfmt if possible

Fixes https://github.com/rust-lang/rust-analyzer/issues/10548

2 years agoDisable rustfmt for expand_macro on wasm platforms
Lukas Wirth [Sun, 17 Apr 2022 12:00:19 +0000 (14:00 +0200)]
Disable rustfmt for expand_macro on wasm platforms

2 years agoFix macro patterns not getting formatted properly
Lukas Wirth [Sun, 17 Apr 2022 11:46:00 +0000 (13:46 +0200)]
Fix macro patterns not getting formatted properly

2 years agofeat: Attempt to format expand_macro output with rustfmt if possible
Lukas Wirth [Sun, 17 Apr 2022 11:33:39 +0000 (13:33 +0200)]
feat: Attempt to format expand_macro output with rustfmt if possible

2 years agoupdate grammer to support associated const equality
XFFXFF [Sun, 17 Apr 2022 04:03:52 +0000 (12:03 +0800)]
update grammer to support associated const equality

2 years agoAuto merge of #12011 - iDawer:completion_detail.impl_trait, r=Veykril
bors [Sat, 16 Apr 2022 21:13:07 +0000 (21:13 +0000)]
Auto merge of #12011 - iDawer:completion_detail.impl_trait, r=Veykril

fix: Show `impl Trait` in argument positon in completion details

Follow up for #11991

`hir`: Use `db.callable_item_signature` query more.

2 years agoShow `impl Trait` in argument positon in completion details
iDawer [Sat, 16 Apr 2022 14:18:42 +0000 (19:18 +0500)]
Show `impl Trait` in argument positon in completion details

`hir`: Use `db.callable_item_signature` query more.

2 years agoAuto merge of #12009 - matklad:debug-reloads, r=matklad
bors [Sat, 16 Apr 2022 12:18:00 +0000 (12:18 +0000)]
Auto merge of #12009 - matklad:debug-reloads, r=matklad

internal: more visibility into why things happen

2 years agointernal: more visibility into why things happen
Aleksey Kladov [Sat, 16 Apr 2022 12:16:58 +0000 (13:16 +0100)]
internal: more visibility into why things happen

2 years agoAuto merge of #12008 - Veykril:patch-1, r=Veykril
bors [Sat, 16 Apr 2022 10:37:28 +0000 (10:37 +0000)]
Auto merge of #12008 - Veykril:patch-1, r=Veykril

fix: Fix proc-macro change check being inverted

2 years agofix: Fix proc-macro change check being inverted
Lukas Wirth [Sat, 16 Apr 2022 10:36:31 +0000 (12:36 +0200)]
fix: Fix proc-macro change check being inverted

2 years agoAuto merge of #11991 - iDawer:completion_detail.impl_trait, r=iDawer
bors [Sat, 16 Apr 2022 09:26:09 +0000 (09:26 +0000)]
Auto merge of #11991 - iDawer:completion_detail.impl_trait, r=iDawer

fix: completion detail shows `{unknown}` for async functions and for RPITs

Fix: completion detail shows `{unknown}` for `impl Trait` in return position.
Fix #11438 : completion detail shows `{unknown}` for return types in async functions.

#### API changes
Add `hir::Function::async_ret_type` method

2 years agominor: address nit
iDawer [Thu, 14 Apr 2022 16:16:25 +0000 (21:16 +0500)]
minor: address nit

2 years ago`extract_function`: use appropriate return type for async fns
iDawer [Thu, 14 Apr 2022 16:12:26 +0000 (21:12 +0500)]
`extract_function`: use appropriate return type for async fns

2 years agoAdd `hir::Function::async_ret_type` method
iDawer [Thu, 14 Apr 2022 12:44:17 +0000 (17:44 +0500)]
Add `hir::Function::async_ret_type` method

Adjust completion detail for `async fn` return types

2 years agofix: comletion detail shows `{unknown}` for `impl Trait` in return position
iDawer [Tue, 12 Apr 2022 15:40:31 +0000 (20:40 +0500)]
fix: comletion detail shows `{unknown}` for `impl Trait` in return position

2 years agoAuto merge of #12006 - lnicola:toggle-inlay-hints, r=lnicola
bors [Sat, 16 Apr 2022 05:10:17 +0000 (05:10 +0000)]
Auto merge of #12006 - lnicola:toggle-inlay-hints, r=lnicola

fix: Remove old inlay hints settings

Closes #11998

2 years agoRemove old inlay hints settings
Laurențiu Nicola [Sat, 16 Apr 2022 05:04:52 +0000 (08:04 +0300)]
Remove old inlay hints settings

2 years agoAuto merge of #12005 - Veykril:hir-ty-simplify, r=Veykril
bors [Fri, 15 Apr 2022 20:23:15 +0000 (20:23 +0000)]
Auto merge of #12005 - Veykril:hir-ty-simplify, r=Veykril

internal: Remove frequent `Arc<Body>` clones in type checking

bors r+

2 years agominor: Remove frequent `Arc<Body>` clones in type checking
Lukas Wirth [Fri, 15 Apr 2022 19:44:47 +0000 (21:44 +0200)]
minor: Remove frequent `Arc<Body>` clones in type checking

2 years agoSimplify
Lukas Wirth [Fri, 15 Apr 2022 19:25:44 +0000 (21:25 +0200)]
Simplify

2 years agoAuto merge of #12003 - Veykril:hir-ty-simplify, r=Veykril
bors [Fri, 15 Apr 2022 18:25:02 +0000 (18:25 +0000)]
Auto merge of #12003 - Veykril:hir-ty-simplify, r=Veykril

internal: Remove duplicated crate id field from hir::Type

2 years agoSlightly optimize `Resolver::krate`
Lukas Wirth [Fri, 15 Apr 2022 18:17:50 +0000 (20:17 +0200)]
Slightly optimize `Resolver::krate`

2 years agoAuto merge of #11997 - lnicola:es-target, r=lnicola
bors [Fri, 15 Apr 2022 18:17:23 +0000 (18:17 +0000)]
Auto merge of #11997 - lnicola:es-target, r=lnicola

minor: Bump target JS version

2 years agoRemove duplicated crate id field from hir::Type
Lukas Wirth [Fri, 15 Apr 2022 18:14:35 +0000 (20:14 +0200)]
Remove duplicated crate id field from hir::Type

2 years agoAuto merge of #12002 - Veykril:proc-macro-change-panic, r=Veykril
bors [Fri, 15 Apr 2022 18:02:40 +0000 (18:02 +0000)]
Auto merge of #12002 - Veykril:proc-macro-change-panic, r=Veykril

fix: Fix source root panic in global state when checking out older git revs

Fixes https://github.com/rust-lang/rust-analyzer/issues/11357

2 years agofix: Fix source root panic in global state when checking out older git revs
Lukas Wirth [Fri, 15 Apr 2022 18:02:15 +0000 (20:02 +0200)]
fix: Fix source root panic in global state when checking out older git revs

2 years agoAuto merge of #12001 - Veykril:refs, r=Veykril
bors [Fri, 15 Apr 2022 17:43:24 +0000 (17:43 +0000)]
Auto merge of #12001 - Veykril:refs, r=Veykril

fix: Do reference search on all downmapped tokens with the same kind only

cc https://github.com/rust-lang/rust-analyzer/issues/11668

2 years agofix: Do reference search on all downmapped tokens with the same kind only
Lukas Wirth [Fri, 15 Apr 2022 17:42:48 +0000 (19:42 +0200)]
fix: Do reference search on all downmapped tokens with the same kind only

2 years agoAuto merge of #12000 - Veykril:hlmac, r=Veykril
bors [Fri, 15 Apr 2022 17:19:33 +0000 (17:19 +0000)]
Auto merge of #12000 - Veykril:hlmac, r=Veykril

fix: Tag `macro_rules` macro bang with `MacroBang` tag

cc https://github.com/rust-lang/rust-analyzer/issues/11996

2 years agofix: Tag `macro_rules` macro bang with `MacroBang` tag
Lukas Wirth [Fri, 15 Apr 2022 17:16:18 +0000 (19:16 +0200)]
fix: Tag `macro_rules` macro bang with `MacroBang` tag

2 years agoAuto merge of #11999 - Veykril:config-valid, r=Veykril
bors [Fri, 15 Apr 2022 17:12:26 +0000 (17:12 +0000)]
Auto merge of #11999 - Veykril:config-valid, r=Veykril

Update feature listing in extension README

2 years agoUpdate feature listing in extension README
Lukas Wirth [Fri, 15 Apr 2022 17:11:56 +0000 (19:11 +0200)]
Update feature listing in extension README

2 years agoBump target JS version
Laurențiu Nicola [Fri, 15 Apr 2022 15:14:51 +0000 (18:14 +0300)]
Bump target JS version

2 years agoAuto merge of #11993 - jonas-schievink:adt-completions-in-block, r=jonas-schievink
bors [Thu, 14 Apr 2022 16:40:15 +0000 (16:40 +0000)]
Auto merge of #11993 - jonas-schievink:adt-completions-in-block, r=jonas-schievink

fix: enable ADT keyword completions in block expressions

fixes https://github.com/rust-lang/rust-analyzer/issues/11576

2 years agoEnable ADT keyword completions in block expression
Jonas Schievink [Thu, 14 Apr 2022 16:39:27 +0000 (18:39 +0200)]
Enable ADT keyword completions in block expression

2 years agoAuto merge of #11992 - jonas-schievink:unresolved-primitive-module-fallback, r=jonas...
bors [Thu, 14 Apr 2022 13:53:18 +0000 (13:53 +0000)]
Auto merge of #11992 - jonas-schievink:unresolved-primitive-module-fallback, r=jonas-schievink

fix: resolve `uN::method` even when `use std::uN;` is present

Closes https://github.com/rust-analyzer/rust-analyzer/issues/6082

2 years agoFallback to primitive when path doesn't resolve
Jonas Schievink [Thu, 14 Apr 2022 13:51:38 +0000 (15:51 +0200)]
Fallback to primitive when path doesn't resolve

2 years agoAuto merge of #11971 - jonas-schievink:on-type-fmt-assignments, r=jonas-schievink
bors [Thu, 14 Apr 2022 12:36:17 +0000 (12:36 +0000)]
Auto merge of #11971 - jonas-schievink:on-type-fmt-assignments, r=jonas-schievink

feat: Add trailing `;` when typing `=` in assignment

![Peek 2022-04-12 19-41](https://user-images.githubusercontent.com/1786438/163022079-1ed114ef-7c75-490f-a8ed-731a13f0b44d.gif)

This does have a false positive to keep in mind, it will add a trailing `;` in the following snippet too, which is probably not desired:

```rust
fn is_zero(i: i32) -> bool {
    i $0 0
}
```

However, that function is unlikely to be written from the "inside out" like that, so it might be acceptable. Typically `=` is only inserted last when the author realizes that an existing expression should be assigned to some variable.

2 years agoAuto merge of #11990 - jonas-schievink:improve-itemtree-prettyprint, r=jonas-schievink
bors [Thu, 14 Apr 2022 12:28:01 +0000 (12:28 +0000)]
Auto merge of #11990 - jonas-schievink:improve-itemtree-prettyprint, r=jonas-schievink

internal: Improve ItemTree pretty print output

Expand `FnFlags` into what they actually mean and omit `AttrId`s, since those are sequential numbers in the item tree

2 years agoImprove ItemTree pretty print output
Jonas Schievink [Thu, 14 Apr 2022 12:24:27 +0000 (14:24 +0200)]
Improve ItemTree pretty print output

2 years agoadd docs
Jonas Schievink [Thu, 14 Apr 2022 11:23:19 +0000 (13:23 +0200)]
add docs

2 years agoAuto merge of #11988 - jonas-schievink:expand-glob, r=jonas-schievink
bors [Thu, 14 Apr 2022 11:03:02 +0000 (11:03 +0000)]
Auto merge of #11988 - jonas-schievink:expand-glob, r=jonas-schievink

minor: reenable simplify glob import test

2 years agoreenable test
Jonas Schievink [Thu, 14 Apr 2022 11:02:20 +0000 (13:02 +0200)]
reenable test

2 years agosimplify
Jonas Schievink [Thu, 14 Apr 2022 11:00:08 +0000 (13:00 +0200)]
simplify

2 years agoAuto merge of #11985 - Veykril:config-valid, r=Veykril
bors [Thu, 14 Apr 2022 10:16:58 +0000 (10:16 +0000)]
Auto merge of #11985 - Veykril:config-valid, r=Veykril

minor: Simplify config.rs a bit

2 years agominor: Cleanup config.rs a bit
Lukas Wirth [Thu, 14 Apr 2022 10:15:58 +0000 (12:15 +0200)]
minor: Cleanup config.rs a bit

2 years agoAuto merge of #11960 - Veykril:config-valid, r=Veykril
bors [Thu, 14 Apr 2022 09:36:08 +0000 (09:36 +0000)]
Auto merge of #11960 - Veykril:config-valid, r=Veykril

internal: Show more project building errors to the user

Should help out with https://github.com/rust-analyzer/rust-analyzer/issues/9720
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/11223

2 years agointernal: Show more project building errors to the user
Lukas Wirth [Mon, 11 Apr 2022 12:38:30 +0000 (14:38 +0200)]
internal: Show more project building errors to the user

2 years agoAuto merge of #11980 - atouchet:repo, r=Veykril
bors [Thu, 14 Apr 2022 09:26:24 +0000 (09:26 +0000)]
Auto merge of #11980 - atouchet:repo, r=Veykril

Update repo URL

2 years agoAuto merge of #11979 - Veykril:ci, r=lnicola
bors [Thu, 14 Apr 2022 06:36:09 +0000 (06:36 +0000)]
Auto merge of #11979 - Veykril:ci, r=lnicola

minor: Don't run CI on master branch

2 years agoUpdate repo URL
Alex Touchet [Wed, 13 Apr 2022 23:54:24 +0000 (16:54 -0700)]
Update repo URL

2 years agoAuto merge of #11956 - fee1-dead:master, r=flodiebold
bors [Wed, 13 Apr 2022 22:53:31 +0000 (22:53 +0000)]
Auto merge of #11956 - fee1-dead:master, r=flodiebold

feat: allow customizing the command for running build scripts

I have tested this locally and it fixed #9201 with some small changes on the compiler side with suggestions from https://github.com/rust-analyzer/rust-analyzer/issues/9201#issuecomment-1019554086.

I have also added an environment variable `IS_RA_BUILDSCRIPT_CHECK` for crates to detect that it is a check for buildscripts, and allows defaulting to bogus values for expected environment variables.