Commit Graph

22236 Commits

Author SHA1 Message Date
bors
7322a982f9 Auto merge of #12554 - XFFXFF:fix_11959, r=Veykril
fix: local items should not be completed in parent signature

fixes #11959

> We get a Bar completion for the following snippet which is wrong as the item is not visible in that position.
> ``` rust
> fn foo() -> $0 {
>    struct Bar;
> }
> ```

I investigated the problem and found that the scope of the cursor offset, also `CompletionContext.scope` is the body of the function
2022-06-16 12:48:33 +00:00
XFFXFF
6df969f5f4 the offset used for the completion cursor should always be relative to the original file and not to the marco file 2022-06-16 20:34:37 +08:00
bors
7ade4d49fc Auto merge of #12517 - xuhongxu96:master, r=Veykril
fix methods in pub trait generated by macro cannot be completed

Fix #12483

Check if the container is trait and inherit the visibility to associate items during collection.
2022-06-16 09:14:09 +00:00
XFFXFF
fbf8e12234 the scope of the return type is not the body of the function 2022-06-16 16:24:18 +08:00
Hongxu Xu
534d71a852 disable private editable in TEST_CONFIG by default
adjust test_visibility_filter test case
2022-06-16 08:52:57 +08:00
bors
519d7484f3 Auto merge of #12545 - jeremyBanks:shebangs, r=Veykril
fix: inserted imports must come after a shebang if present

The current `insert_use` logic adds the first `use` item near the beginning of the file, only skipping past comments and whitespace. However, it does not skip leading [shebang lines](https://en.wikipedia.org/wiki/Shebang_\(Unix\)). This can produce a syntax error, as shebangs are only accepted (ignored) on the first line of the file.

### Before Insertion (valid syntax)

```rust
#!/usr/bin/env rust

fn main() {}
```

### After Insertion (invalid syntax)

```rust
use foo::bar::Baz;

#!/usr/bin/env rust

fn main() {}
```

Rust analyzer's grammar is already shebang-aware, so this PR just adds that to the array of SyntaxKinds that are skipped past when looking for an insertion location, and adds a corresponding test case.
2022-06-15 20:01:37 +00:00
Jeremy Banks
c32f133236 fix: inserted imports must come after a shebang if present 2022-06-15 19:42:43 +00:00
Jeremy Banks
f32ad8362f add failing test: inserts_after_shebang 2022-06-15 19:42:43 +00:00
bors
d39d520a21 Auto merge of #12544 - Veykril:proc-error, r=Veykril
Show proc-macro loading errors in unresolved-proc-macro diagnostics

This should help out people to potentially figure out the problem without having to check the logs
2022-06-15 16:21:21 +00:00
Lukas Wirth
1dd2c50298 Update test outputs 2022-06-15 18:07:37 +02:00
Lukas Wirth
0e41d15b82 Use the correct crates proc-macro loading error message 2022-06-15 18:06:33 +02:00
Lukas Wirth
1d34cdcac0 Diagnose unresolved attribute proc-macros 2022-06-15 17:34:13 +02:00
Lukas Wirth
7d51fc4640 Show proc-macro loading errors in unresolved-proc-macro diagnostics 2022-06-15 17:34:01 +02:00
bors
15c63c4119 Auto merge of #12541 - Veykril:vs-reload, r=Veykril
fix: Clear proc-macro changed flag when reloading workspace
2022-06-15 12:29:34 +00:00
Lukas Wirth
664a751f2b fix: Clear proc-macro changed flag when reloading workspace 2022-06-15 14:29:13 +02:00
bors
7ca5d165f8 Auto merge of #12537 - kevinushey:bugfix/items-typo, r=Veykril
fix typo in package.json

Fixes a small typo in `package.json`.
2022-06-15 07:37:18 +00:00
Hongxu Xu
549c810436 revert hir-def lib.rs 2022-06-15 07:48:34 +08:00
Hongxu Xu
8805a768d4 check if the container is trait and inherit the visibility 2022-06-15 07:47:06 +08:00
Kevin Ushey
3cbbaf014e fix typo in package.json 2022-06-14 14:44:23 -07:00
Hongxu Xu
070456838d remove inherit_visibility test case in item_tree 2022-06-14 23:24:48 +08:00
Hongxu Xu
ded412d56b implement inherited_visibility in collector 2022-06-14 23:23:15 +08:00
Hongxu Xu
3f60e71a12 remove inherited_visibility in lower.rs 2022-06-14 21:44:07 +08:00
Hongxu Xu
d7eebd9706 add test cases to complete fn generated by macro in pub trait 2022-06-14 21:41:09 +08:00
bors
65874dfff2 Auto merge of #12529 - Veykril:vs-reload, r=Veykril
fix: Ask the user to reload the vscode window when changing server settings

These requires a window reload, as they are set before the server is being started
2022-06-14 11:43:31 +00:00
Lukas Wirth
002447d6cb fix: Ask the user to reload the vscode window when changing server settings 2022-06-14 11:11:08 +02:00
bors
1ad6d324b2 Auto merge of #12528 - Veykril:proc-diag, r=Veykril
fix: Check for the correct proc-macro settings in missing proc-macro diagnostics
2022-06-14 09:00:21 +00:00
Lukas Wirth
325ceaef19 fix: Check for the correct proc-macro settings in missing proc-macro diagnostics 2022-06-14 11:00:06 +02:00
bors
7db73875ac Auto merge of #12519 - Veykril:hover-assoc, r=Veykril
feat: On assoc item name hover, render trait decl docs
2022-06-13 09:58:04 +00:00
Lukas Wirth
9b9c13fc40 feat: On assoc item name hover, render trait decl docs 2022-06-13 11:57:33 +02:00
bors
366bd7242e Auto merge of #12515 - Veykril:rustc-proc-macros, r=Veykril
fix: Pass the build data to rustc_private crates

With this all proc-macros should resolve in rustc now when setting up the build script running command properly.
2022-06-12 17:35:55 +00:00
Lukas Wirth
10e9f47dce fix: Pass the build data to rustc_private crates 2022-06-12 19:29:45 +02:00
bors
6c65edfd8f Auto merge of #12514 - Veykril:proc-mac-err, r=Veykril
More precise proc-macro errors
2022-06-12 17:27:41 +00:00
Lukas Wirth
0e4eb647f6 More precise proc-macro errors 2022-06-12 18:44:46 +02:00
bors
4f2a67b26f Auto merge of #12513 - Veykril:ty-utils, r=Veykril
internal: Simplify `hir_ty::utils`
2022-06-12 14:08:08 +00:00
Lukas Wirth
9153f17382 internal: Simplify hir_ty::utils 2022-06-12 16:07:08 +02:00
bors
d513f657a3 Auto merge of #12509 - Veykril:ty-utils, r=Veykril
internal: Remove `Generics::type_iter` in favor of `Generics::iter`
2022-06-12 12:40:57 +00:00
Lukas Wirth
7a0ab1358c internal: Remove Generics::type_iter in favor of Generics::iter 2022-06-12 14:40:37 +02:00
bors
eacade27ce Auto merge of #12455 - bitgaoshu:fix_12441, r=flodiebold
fix: #12441 False-positive type-mismatch error with generic future

I think the reason is same with #11815.
add ```Sized``` bound for ```AsyncBlockTypeImplTrait```.
2022-06-12 09:01:00 +00:00
bors
604b1c8409 Auto merge of #12508 - Veykril:req-retry, r=Veykril
fix: Don't respond to cancelled requests when retrying them

Fixes https://github.com/rust-lang/rust-analyzer/issues/12482
2022-06-12 00:56:52 +00:00
Lukas Wirth
ad109f7f0a fix: Don't respond to cancelled requests when retrying them 2022-06-12 02:56:19 +02:00
bors
ccab003db6 Auto merge of #12506 - cgburgess:master, r=Veykril
minor: Fix typo in style guide

Fix type `Ues` -> `Use` in `style.md`
2022-06-11 16:57:38 +00:00
Chris Burgess
54f5a68f79
fix typo in style.md 2022-06-11 12:50:36 -04:00
bors
37b01f9f39 Auto merge of #12504 - rust-lang:Veykril-patch-1, r=Veykril
fix: Fix config patching for callable snippets

Closes https://github.com/rust-lang/rust-analyzer/issues/12498
2022-06-11 11:41:26 +00:00
Lukas Wirth
a7a1a83463
fix: Fix config patching for callable snippets 2022-06-11 13:41:06 +02:00
bors
5b746ec590 Auto merge of #12481 - XFFXFF:add_label_to_loop, r=Veykril
assist: add label to loop

closes: #12392

I changed `'loop` to `'l`, as `cargo check` says `'loop` is an invalid label name.
2022-06-11 11:34:08 +00:00
bors
ba329913fa Auto merge of #12449 - Veykril:version, r=Veykril
Bring the version command output in line with other rust tools

Inspired by how cargo handles it
Fixes https://github.com/rust-lang/rust-analyzer/issues/12280
![image](https://user-images.githubusercontent.com/3757771/171680176-236451ee-2c6c-449f-8aa5-4a047e8cc907.png)
2022-06-10 23:35:38 +00:00
XFFXFF
e29a6780b1 restrict the assist so that it only appears if the cursor is on the loop keyword 2022-06-11 07:11:56 +08:00
XFFXFF
fac4d28012 change 'loop to 'l, as 'loop is not a valid label name 2022-06-11 07:11:56 +08:00
XFFXFF
0121cc1e29 make generated test pass and make tidy happy 2022-06-11 07:11:56 +08:00
XFFXFF
bb62180714 add more tests and some doc 2022-06-11 07:11:56 +08:00