Jonas Schievink
6cdfd1c3cf
Make find_path_inner
a query
...
This eliminates any remaining performance problems in the
"Implement default members" assist (at least that I've found).
2020-05-20 23:54:50 +02:00
Aleksey Kladov
ecac5d7de2
Switch to new magic marks
2020-05-20 13:02:53 +02:00
Aleksey Kladov
dce31efdde
Cleanup query fn naming
2020-05-19 16:54:45 +02:00
Aleksey Kladov
01bd1e1296
Move public API to the top
2020-05-19 16:46:33 +02:00
Aleksey Kladov
908da9ac1b
Simplify
2020-05-19 16:45:57 +02:00
Aleksey Kladov
5c9ebbeaa4
Cleanup imports
2020-05-19 16:43:26 +02:00
bors[bot]
38e8f35855
Merge #4501
...
4501: Querify `importable_locations_in_crate` r=jonas-schievink a=jonas-schievink
This brings the time needed to compute the `add_missing_impl_members` assist down from ~5 minutes to 20 seconds on my test workload (which is editing within an impl of a MIR [`MutVisitor`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/visit/trait.MutVisitor.html ))
cc #4498
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2020-05-18 19:43:12 +00:00
Jonas Schievink
8f80df1117
Querify importable_locations_in_crate
...
This brings the time needed to compute the `add_missing_impl_members`
assist down from ~5 minutes to 20 seconds
2020-05-18 21:42:39 +02:00
Edwin Cheng
12a3bf3c31
Create LowerCtx on the fly
2020-05-17 23:37:30 +08:00
Florian Diebold
3f42b2e837
Handle Self
in values and patterns
...
I.e.
- `Self(x)` or `Self` in tuple/unit struct impls
- `Self::Variant(x)` or `Self::Variant` in enum impls
- the same in patterns
Fixes #4454 .
2020-05-15 17:25:28 +02:00
Matthew Jasper
11c0a5bb60
Highlight mutable statics as mutable
2020-05-10 16:25:51 +01:00
Edwin Cheng
92665358cd
Rename ImplItem to AssocItem
2020-05-05 23:56:10 +08:00
bors[bot]
756e91732b
Merge #4305
...
4305: Favor types for record type struct in name resolution r=matklad a=edwin0cheng
Fixed #4235
Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2020-05-05 15:06:41 +00:00
Edwin Cheng
07de8ea165
invert if
2020-05-05 23:01:07 +08:00
Benjamin Coenen
831bb1cf91
refactor: use attrsOwner directly in is_cfg_enabled
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2020-05-05 09:34:07 +02:00
Edwin Cheng
cf821cc332
Change union resolve types only
2020-05-05 01:19:54 +08:00
Edwin Cheng
e921195d93
Change favor_types to has_constructor
2020-05-05 01:15:27 +08:00
Edwin Cheng
5ae18f4f81
Remove unused import
2020-05-05 00:34:54 +08:00
Edwin Cheng
af001677d1
Fix test
2020-05-05 00:17:30 +08:00
Edwin Cheng
8d96db3417
Favor types for Record in name resolution
2020-05-05 00:17:22 +08:00
bors[bot]
57f285d0eb
Merge #4283
...
4283: Support macro for trait items r=matklad a=edwin0cheng
Fixed #4039
r? @flodiebold
Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
Co-authored-by: Edwin Cheng <edwin@m-inverse.com>
2020-05-04 10:49:24 +00:00
Edwin Cheng
5899c8eaa9
Fixes names for collect_item funtions
2020-05-04 18:34:32 +08:00
Benjamin Coenen
bed115d6e1
add support of cfg attributes on enum variants #4279
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2020-05-03 17:56:45 +02:00
Edwin Cheng
8b6216df05
Support macro for trait items
2020-05-03 22:08:39 +08:00
bors[bot]
fb8fb65131
Merge #4234
...
4234: Support local_inner_macros r=jonas-schievink a=edwin0cheng
This PR implements `#[macro_export(local_inner_macros)]` support.
Note that the rustc implementation is quite [hacky][1] too. :)
[1]: 614f273e93/src/librustc_resolve/macros.rs (L456)
Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2020-05-02 10:30:49 +00:00
Aleksey Kladov
4f2134cc33
Introduce EffectExpr
2020-05-02 11:21:39 +02:00
Edwin Cheng
edf0b4c152
Test whether it is bang macro properly
2020-05-02 10:16:26 +08:00
Edwin Cheng
291d03949b
Add test in name resolutions
2020-05-02 10:06:17 +08:00
Aleksey Kladov
fd030f9450
Revert "Merge #4233 "
...
This reverts commit a5f2b16366
, reversing
changes made to c96b2180c1
.
2020-05-02 01:12:37 +02:00
Edwin Cheng
7bbdeb43a4
Make AttrQuery copyable
2020-05-01 20:58:24 +08:00
Edwin Cheng
bdcf6f5658
Introduce LowerCtx for path lowering
2020-05-01 20:01:17 +08:00
Edwin Cheng
e4267967a8
Support local_inner_macros
2020-05-01 11:23:03 +08:00
Aleksey Kladov
14126349be
Kill more zombies
2020-04-30 22:58:26 +02:00
Aleksey Kladov
292ba6a1f8
Remove dead code, which elaborately pretends to be alive
2020-04-30 22:41:14 +02:00
bors[bot]
7021352dc2
Merge #4113 #4136 #4141 #4142
...
4113: Support returning non-hierarchical symbols r=matklad a=kjeremy
If `hierarchicalDocumentSymbolSupport` is not true in the client capabilites
then it does not support the `DocumentSymbol[]` return type from the
`textDocument/documentSymbol` request and we must fall back to `SymbolInformation[]`.
This is one of the few requests that use the client capabilities to
differentiate between return types and could cause problems for clients.
See https://github.com/microsoft/language-server-protocol/pull/538#issuecomment-442510767 for more context.
Found while looking at #144
4136: add support for cfg feature attributes on expression #4063 r=matklad a=bnjjj
close issue #4063
4141: Fix typo r=matklad a=Veetaha
4142: Remove unnecessary async from vscode language client creation r=matklad a=Veetaha
Co-authored-by: kjeremy <kjeremy@gmail.com>
Co-authored-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
Co-authored-by: veetaha <veetaha2@gmail.com>
2020-04-25 19:23:15 +00:00
veetaha
f52e2f6840
Fix typo
2020-04-25 20:49:51 +03:00
Jonas Schievink
3cf2c3b943
Prefer core/alloc paths on #![no_std]
2020-04-25 16:27:34 +02:00
Benjamin Coenen
b87b335e68
add support for cfg feature attributes on expression #4063
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2020-04-25 15:48:04 +02:00
Aleksey Kladov
970dbf8717
Rename StructField -> Field
2020-04-25 14:23:34 +02:00
Aleksey Kladov
8843588fca
Convert tests to text-size
2020-04-25 11:59:18 +02:00
Jonas Schievink
5cc9546ca0
Record definitions in extern
blocks
2020-04-23 23:36:23 +02:00
Aleksey Kladov
4176c03d12
Remove SyntaxPtr::range from more places
2020-04-23 16:33:01 +02:00
Jeremy Kolb
d7f3d858ad
Some clippy fixes
2020-04-19 15:15:49 -04:00
Aleksey Kladov
b79fd82559
Correctly infer types in guard expressions
...
The root cause was that we forgot to add bindings from the arm to the
guard expression
closes #3980
2020-04-18 22:16:04 +02:00
Florian Diebold
b49ecafd40
find_path: Builtins are always in scope
...
Fixes #3977 .
2020-04-18 12:06:22 +02:00
bors[bot]
179d983535
Merge #4012
...
4012: fix panic on ellipsis in pattern r=flodiebold a=JoshMcguigan
fixes #3999
Co-authored-by: Josh Mcguigan <joshmcg88@gmail.com>
2020-04-17 12:39:20 +00:00
Josh Mcguigan
408f914bf4
fix panic on ellipsis in pattern
2020-04-17 05:36:44 -07:00
Aleksey Kladov
146f6f5a45
Simplify Diagnostic structure
...
It's not entirely clear what subnode ranges should mean in the
presence of macros, so let's leave them out for now. We are not using
them heavily anyway.
2020-04-17 13:56:42 +02:00
Aleksey Kladov
a8196ffe84
Correctly highlight ranges of diagnostics from macros
...
closes #2799
2020-04-17 13:56:38 +02:00
Aleksey Kladov
302bf97bbf
Don't expose impl details of SyntaxPtr
2020-04-17 12:25:41 +02:00