Commit Graph

14738 Commits

Author SHA1 Message Date
Jonas Schievink
4e603b7947 Add test for nameres in nested blocks 2021-01-21 16:42:56 +01:00
bors[bot]
47a70aadce
Merge #7375
7375: Add support for running name resolution in block expressions r=jonas-schievink a=jonas-schievink

This adds a `block_def_map` query that runs the name resolution algorithm on a block expression, and returns a `DefMap` that stores links to the parent `DefMap` (either the containing block or the crate-level `DefMap`). Blocks with no inner items return the parent's `DefMap` as-is, to avoid creating unnecessarily long `DefMap` chains.

Path resolution is updated to recurse into the parent `DefMap` after looking up a path in the original `DefMap`.

I've added a few new tests for this, but outside of those this isn't used yet.

bors r+

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-01-21 15:28:40 +00:00
Jonas Schievink
ec4a1dc297 Add test that merges inner and outer names 2021-01-21 16:23:50 +01:00
Jonas Schievink
d62c9c6c63 Fix lowering with multiple block expressions 2021-01-21 16:23:22 +01:00
Thiébaud Weksteen
9a68c7f6c7 Add step to run analysis-stats on std 2021-01-21 15:37:10 +01:00
bors[bot]
323138f32e
Merge #7372
7372: Up lexer r=kjeremy a=kjeremy

No real changes here.

Co-authored-by: kjeremy <kjeremy@gmail.com>
2021-01-21 14:32:57 +00:00
kjeremy
f006517857 Up lexer 2021-01-21 09:31:06 -05:00
Jonas Schievink
f8f44cfb9b Fall back to parent DefMaps when resolving paths 2021-01-21 15:24:15 +01:00
Jonas Schievink
896dfacfc4 Add name resolution query for block expressions 2021-01-21 15:22:17 +01:00
bors[bot]
cde22aba1c
Merge #7371
7371: Change directory before running rustfmt to respect rustfmt.toml r=matklad a=lnicola

Fixes #6973

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-01-21 14:15:14 +00:00
Laurențiu Nicola
c067ca505a chdir to file before rustfmt 2021-01-21 15:58:17 +02:00
bors[bot]
0045d7c6db
Merge #7370
7370: fix mega bug r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-01-21 13:38:28 +00:00
Aleksey Kladov
feb252138d Fix mega bug
https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/Manual.20content.20is.20duplicated
2021-01-21 16:37:46 +03:00
bors[bot]
64a92e2328
Merge #7368
7368: Clarify enabled features and defined features in PackageData r=matklad a=edwin0cheng



Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2021-01-21 11:30:38 +00:00
Edwin Cheng
ac3ec18f4b Added defined_features in PackageData 2021-01-21 19:12:19 +08:00
Benjamin Coenen
06f1c8f5a1 Add assist: add lifetime to type #7200
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2021-01-21 09:53:24 +01:00
bors[bot]
cc53252e87
Merge #7367
7367: Bump chalk r=lnicola a=lnicola

Fixes #6945
Fixes #6812

bors r+

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-01-21 08:33:25 +00:00
Laurențiu Nicola
e42dfd7a40 Bump chalk 2021-01-21 10:29:19 +02:00
bors[bot]
70f7a10013
Merge #7366
7366: Treat BlockExpr as a potential module origin r=jonas-schievink a=jonas-schievink

A block containing inner items acts like the root module of a crate, so it needs to be representable as a `ModuleSource` and `ModuleOrigin`.

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-01-20 22:07:38 +00:00
Jonas Schievink
82146737ac Treat BlockExpr as a potential module origin 2021-01-20 20:05:48 +01:00
Lukas Wirth
08b822b259 Update completions test output 2021-01-20 18:46:22 +01:00
Lukas Wirth
f2cb7dbcb7 Partially unify SymbolKind and CompletionItemKind 2021-01-20 18:39:46 +01:00
bors[bot]
7d5ed18c42
Merge #7365
7365: chalk 0.49.0 r=kjeremy a=kjeremy



Co-authored-by: kjeremy <kjeremy@gmail.com>
2021-01-20 17:35:15 +00:00
kjeremy
1e0b163860 chalk 0.49.0 2021-01-20 12:31:03 -05:00
bors[bot]
42c5979fe5
Merge #7364
7364: DefMap: hide remaining crate-visible fields r=jonas-schievink a=jonas-schievink

bors r+

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-01-20 17:18:44 +00:00
Jonas Schievink
5f319ca7ee DefMap: hide remaining crate-visible fields 2021-01-20 18:17:48 +01:00
bors[bot]
e62533c3ec
Merge #7359
7359: ItemTree: store a mapping from blocks to inner items r=jonas-schievink a=jonas-schievink

To do name resolution within block expressions, we need to know which inner items are located inside each block expression. This adds such a mapping to `ItemTree`, replacing the previous one, which was seemingly unused other than to access all the inner items.

This also assigns `AstId`s to block expressions, which is needed to store the mapping in salsa.

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-01-20 16:09:22 +00:00
bors[bot]
9d10aa0972
Merge #7361
7361: bump serde r=kjeremy a=kjeremy



Co-authored-by: kjeremy <kjeremy@gmail.com>
2021-01-20 14:55:53 +00:00
bors[bot]
15b59fe434
Merge #7360
7360: Make public DefMap fields private r=jonas-schievink a=jonas-schievink

This gives us more freedom to change the implementation for name resolution within block expressions.

bors r+

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-01-20 14:44:49 +00:00
kjeremy
46359ae841 bump serde 2021-01-20 09:44:48 -05:00
Jonas Schievink
0587b99fde Make public DefMap fields private 2021-01-20 15:41:18 +01:00
Lukas Wirth
563a175fdb Move SymbolKind to ide_db 2021-01-20 15:25:34 +01:00
Jonas Schievink
c5ed2284b5 Create a mapping from blocks to inner items 2021-01-20 15:00:28 +01:00
bors[bot]
de5aabd48b
Merge #7350
7350: Update pico-args r=matklad a=kjeremy

Should maintain existing behavior

Co-authored-by: kjeremy <kjeremy@gmail.com>
2021-01-20 12:28:10 +00:00
bors[bot]
6cf3d669e2
Merge #7357
7357: Dont show runnables from nested mods r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-01-20 11:49:59 +00:00
Aleksey Kladov
74f8201586 Avoid intermediate collections 2021-01-20 14:49:29 +03:00
Aleksey Kladov
724059569b Don't show runnable suggestions for other files
It't be actually great to have these once we have run anything dialog,
but for run the thing at point it makes sense to show a limited set.
2021-01-20 14:30:50 +03:00
bors[bot]
b28c903b18
Merge #7355
7355: ⬆️ rowan r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-01-20 11:08:00 +00:00
Aleksey Kladov
3429b32ad1 ⬆️ rowan
It now stores text inline with tokens
2021-01-20 14:04:53 +03:00
Aleksey Kladov
46b4f89c92 . 2021-01-20 01:56:11 +03:00
Lukas Wirth
83e49200d8 Add LifetimeParam and ConstParam to CompletionItemKind 2021-01-19 20:25:29 +01:00
bors[bot]
63f509f492
Merge #7352
7352: ⬆️ rowan r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-01-19 19:19:24 +00:00
Aleksey Kladov
cd21b0e9c1 ⬆️ rowan 2021-01-19 22:11:42 +03:00
bors[bot]
f647e134a7
Merge #7351
7351: Show const params in completions r=Veykril a=Veykril

bors r+
![image](https://user-images.githubusercontent.com/3757771/105080872-bba76680-5a91-11eb-91cd-0910da4c8312.png)


Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-01-19 19:07:33 +00:00
Lukas Wirth
bed12833cc Show const params in completions 2021-01-19 20:06:39 +01:00
Jonas Schievink
52fe50a97b Record FileAstIds for block expressiosn
Every block expression may contain inner items, so we need to be able
to refer to any block expression and use it as a salsa key.
2021-01-19 19:49:19 +01:00
kjeremy
db0aaeca33 Update pico-args
Should maintains existing behavior
2021-01-19 11:56:45 -05:00
bors[bot]
02edb4b31b
Merge #7347
7347: Reduce TokenMap size r=edwin0cheng a=edwin0cheng

Reduces HygieneFrameQuery's memory usage by to another 10 MB.

cc #7331

bors r+

Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2021-01-19 11:28:58 +00:00
Edwin Cheng
7b3e960d94 Reduce TokenMap size 2021-01-19 19:26:53 +08:00
bors[bot]
8935106b39
Merge #7321
7321: Support runnables in macros r=matklad a=edwin0cheng

fixes  #4771

Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2021-01-19 09:27:45 +00:00