Commit graph

15960 commits

Author SHA1 Message Date
bors[bot] 3e8f13d274
Merge #8182
8182: Trim down IPC json size r=edwin0cheng a=edwin0cheng

This PR try to trim down the json of proc macro IPC by ignore token id if it equals to `TokenId::unspecifed`. 

Test by following commands:
```bash
$ git clone https://github.com/gluon-lang/lsp-types.git  
$ export RA_LOG="proc_macro_api=debug"
$ rust-analyzer -q analysis-stats --load-output-dirs --with-proc-macro . 2> debug.log
$ cat debug.log | awk '/^\[DEBUG proc_macro_api::msg\] >/ {print substr($0,31)}' >expand.log
$ stat -c "%s" expand.log
```

Before: 37576726
After: 28551718

So it trimed down 75%.  

bors r+





Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2021-03-24 07:11:28 +00:00
Edwin Cheng a2950fcb05 Trim down IPC json size 2021-03-24 15:01:37 +08:00
bors[bot] d702f10fb3
Merge #8159
8159: Ignore proc-macro stdout to prevent IPC crash r=edwin0cheng a=edwin0cheng

fixes  #7954

r? @flodiebold 

Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2021-03-23 20:06:44 +00:00
bors[bot] c6d6a7d412
Merge #8178
8178: Show item info when hovering intra doc links r=Veykril a=Veykril

![r4uIITP0IZ](https://user-images.githubusercontent.com/3757771/112197618-91e2fb00-8c0c-11eb-9edc-a7923214d2b6.gif)


Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-03-23 19:58:03 +00:00
Lukas Wirth caaeb92882 Cleanup intra_doc_link parsing 2021-03-23 20:56:38 +01:00
Edwin Cheng 79f583ed66 Improve message usage in proc-macro
Reuse storage for the buffer send to child process of proc-macro.
2021-03-24 03:51:06 +08:00
Edwin Cheng f41ae64722 Ignore proc-macro stdout to prevent IPC crash 2021-03-24 03:44:28 +08:00
Lukas Wirth 8b0d0bd9c7 Show item info when hovering intra doc links 2021-03-23 19:57:04 +01:00
bors[bot] 20f8e660ca
Merge #8179
8179: cargo update r=kjeremy a=kjeremy

Removes dependency on socket2

Co-authored-by: kjeremy <kjeremy@gmail.com>
2021-03-23 18:45:22 +00:00
kjeremy 0630ff5de5 cargo update
Removes dependency on socket2
2021-03-23 14:44:26 -04:00
bors[bot] 5f13319892
Merge #8176
8176: Cleanup r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-03-23 17:05:14 +00:00
Aleksey Kladov 8b4240e026 Cleanup 2021-03-23 19:59:33 +03:00
bors[bot] 789f7aca2e
Merge #8173
8173: simplify r=Veykril a=Veykril

bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-03-23 16:54:35 +00:00
Lukas Wirth 6bdf505d7c simplify 2021-03-23 17:49:06 +01:00
bors[bot] c220b34095
Merge #8174
8174: Simplify code r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-03-23 16:44:28 +00:00
Aleksey Kladov e33959a888 Simplify code
changelog: skip
2021-03-23 19:41:15 +03:00
bors[bot] c88129d563
Merge #8170
8170: Merge bang-macros and derives in name resolution r=jonas-schievink a=jonas-schievink

bors r+

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-03-23 16:24:18 +00:00
Jonas Schievink 1d5d44f7f7 Merge bang-macros and derives in name resolution 2021-03-23 17:23:10 +01:00
bors[bot] 065a8e87cd
Merge #8169
8169: Make more use of the HIR in rename::rename_to_self r=Veykril a=Veykril

bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-03-23 15:55:04 +00:00
Lukas Wirth 638dcac092 Make more use of the HIR in rename::rename_to_self 2021-03-23 16:54:21 +01:00
bors[bot] 1dbc5b7cc7
Merge #8167
8167: Use styleguide conforming import for ast nodes r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-03-23 14:50:29 +00:00
Aleksey Kladov 860e069d4d Use styleguide conforming import for ast nodes 2021-03-23 17:44:17 +03:00
bors[bot] 0469280c8a
Merge #8166
8166: Unify test style r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-03-23 14:40:34 +00:00
Aleksey Kladov 7352f50ec2 Unify test style
changelog skip
2021-03-23 17:38:51 +03:00
bors[bot] d15edf779b
Merge #8165
8165: Tweak assits API to fit mutable syntax trees r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-03-23 14:32:25 +00:00
Aleksey Kladov b83c7eedcc Tweak assits API to fit mutable syntax trees
changelog: skip
2021-03-23 17:31:19 +03:00
bors[bot] 258afb8fb8
Merge #8138
8138: Set up a search scope when searching for mbe macro references r=Veykril a=Veykril

Closes #6184

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-03-23 12:05:45 +00:00
Lukas Wirth 395183e0b7 Cleanup Definition::search_scope 2021-03-23 13:03:55 +01:00
Lukas Wirth 7c4eb66c1a Merge hir::MacroDef::is_* into hir::MacroDef::kind 2021-03-23 11:32:14 +01:00
Lukas Wirth bad4e48672 Set up a search scope when searching for mbe macro references 2021-03-23 11:32:10 +01:00
bors[bot] 1efd220f2f
Merge #8162
8162: Compute more mathematically well-rounded notion of transitive deps r=Veykril a=matklad

By including the crate itself, we make the resulting set closed with
respect to `transitve_reveres_dependencies` operation, as it becomes a
proper transitive closure. This just feels more proper and mathy.

And, indeed, this actually allows us to simplify call sites somewhat.

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-03-23 10:20:47 +00:00
Aleksey Kladov fa9c6eb456 Improve readability 2021-03-23 13:04:43 +03:00
Aleksey Kladov ba48c0d8bd Align naming of deps and revdeps 2021-03-23 13:04:43 +03:00
Aleksey Kladov 521a26b0d2 Align semantics of deps and rev deps 2021-03-23 12:58:48 +03:00
Aleksey Kladov 45a8f37b6a Compute more mathematically well-rounded notion of transitive deps
By including the crate itself, we make the resulting set closed with
respect to `transitve_reveres_dependencies` operation, as it becomes a
proper transitive closure. This just feels more proper and mathy.

And, indeed, this actually allows us to simplify call sites somewhat.
2021-03-23 12:49:55 +03:00
bors[bot] bf3a8eb40a
Merge #8142
8142: temp disable broken ref match completions for struct fields/methods r=matklad a=JoshMcguigan

This PR implements a temporary workaround for #8058 by disabling ref match completions for struct fields and methods. Disabling this doesn't break any existing functionality (that I am aware of) since these completions were broken.

I plan to keep working on a real fix for the underlying issue here, but I think a proper fix could take some time, so I'd prefer to quickly fix the bug to buy some more time to implement a better solution (which would ultimately allow re-enabling ref matches for struct fields and methods). 

Co-authored-by: Josh Mcguigan <joshmcg88@gmail.com>
2021-03-23 09:24:26 +00:00
Josh Mcguigan 18c3fb2df5 add unit test to demonstrate struct fields/methods do not get ref match completions 2021-03-22 20:34:02 -07:00
bors[bot] 4b997b8663
Merge #8156
8156: Correctly lower TraitRefs with default params r=flodiebold a=Veykril

Fixes #5685

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-03-22 20:39:58 +00:00
Lukas Wirth 0aa4ac362d Correctly lower TraitRefs with default params 2021-03-22 19:13:43 +01:00
bors[bot] 97fe64a5c7
Merge #8154 #8155
8154: rewrite merge use trees assist to use muatable syntax trees r=matklad a=matklad

bors r+
🤖

8155: Fix confusion between parameters and the function r=jonas-schievink a=jonas-schievink

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

bors r+

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Co-authored-by: Jonas Schievink <jonas.schievink@ferrous-systems.com>
2021-03-22 17:56:18 +00:00
Jonas Schievink 2633e23f2b resolver: manually traverse nested block scopes 2021-03-22 18:55:51 +01:00
Aleksey Kladov 9cbf09ec4f rewrite merge use trees assist to use muatable syntax trees
changelog internal
2021-03-22 20:47:46 +03:00
bors[bot] d834306e7c
Merge #8153
8153: ⬆️ rowan r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-03-22 17:27:32 +00:00
Aleksey Kladov 48b534ceb8 ⬆️ rowan 2021-03-22 20:26:59 +03:00
bors[bot] 94aa3a7b1a
Merge #8141
8141: Don't suggest long looping paths for imports r=matklad a=SomeoneToIgnore

Fixes https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/name.3A.3Aname.3A.3Aname.3A.3Aname.3A.3Aname


Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
2021-03-22 13:20:07 +00:00
Kirill Bulatov 129353255c Code review fixes 2021-03-22 15:15:53 +02:00
bors[bot] d4fa6721af
Merge #8054
8054: Item movers r=matklad a=ivan770

Closes #6823

https://user-images.githubusercontent.com/14003886/111331579-b4f43480-8679-11eb-9af0-e4dabacc4923.mp4

Implementation issues:
- [ ] Most of items are non-movable, since _movability_ of any item has to be determined manually. Common ones are movable though
- [x] Cursor should move with the item

Co-authored-by: ivan770 <leshenko.ivan770@gmail.com>
2021-03-22 13:08:45 +00:00
bors[bot] 3af1885bd2
Merge #8144
8144: bail out early for source code closures r=Veykril a=hi-rustin

close https://github.com/rust-analyzer/rust-analyzer/issues/8084

Co-authored-by: hi-rustin <rustin.liu@gmail.com>
2021-03-22 12:35:44 +00:00
bors[bot] e220d3d507
Merge #8139
8139: Align `Canonical` and `InEnvironment` with the Chalk versions r=flodiebold a=flodiebold



Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2021-03-22 12:25:53 +00:00
bors[bot] 6f1f91cdcf
Merge #8136 #8146
8136: Introduce QuantifiedWhereClause and DynTy analogous to Chalk r=flodiebold a=flodiebold

This introduces a bunch of new binders in lots of places, which we have to be careful about, but we had to add them at some point. There's a lot of skipping of the binders; once we're done with the Chalk move, we should review the remaining ones.

8146: Document patch policy r=matklad a=matklad

bors r+
🤖

Co-authored-by: Florian Diebold <flodiebold@gmail.com>
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-03-22 12:08:25 +00:00