Lukas Wirth
ae8a802085
Ignore lifetime params in substitutions
2020-12-13 11:34:44 +01:00
bors[bot]
a15d19619e
Merge #6845
...
6845: Don't HirDisplay unknown types when displaying for source r=Veykril a=Veykril
Was wondering why the add missing impl assist didn't do anything here:

Turns out me forgetting to set the Index::Idx type in the trait causes RA to panic due to it trying to to create an unparsable type in the `make` module.
Now we get this instead which imo is definitely better to have.

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-12-12 18:06:36 +00:00
Lukas Wirth
69b78edb5e
Don't HirDisplay unknown types when displaying for source
2020-12-12 19:05:00 +01:00
Jeremy Kolb
26a1675764
Remove some redundant allocations
2020-12-12 12:27:09 -05:00
bors[bot]
479d1f7eec
Merge #6818
...
6818: Add Lifetimes to the HIR r=matklad a=Veykril
This doesn't handle resolve yet as I don't know yet how that will be used. I'll get to that once I start moving the lifetime reference PR to the hir.
This also adds a new `hir` name type for lifetimes and labels, `hir::LifetimeName`.
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-12-12 14:35:38 +00:00
ivan770
f7f4f366ac
Added remove this semicolon test
2020-12-12 13:50:11 +02:00
bors[bot]
70db57cc59
Merge #6839
...
6839: Infer labeled blocks r=flodiebold a=Veykril
The test should cover all the interesting cases I believe(main part of it is copied from the loop label break test above it).
The test is indented to stay consistent with the rest of the tests in the file, I can dedent all the tests in the file in a follow up PR if desired.
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-12-12 10:18:16 +00:00
Lukas Wirth
11f8664182
Add Lifetimes to the HIR
2020-12-12 00:56:52 +01:00
Lukas Wirth
378ec2841b
Infer labeled blocks
2020-12-12 00:06:48 +01:00
bors[bot]
4998807039
Merge #6813
...
6813: negative sign matching in mbe matching for literal r=edwin0cheng a=edwin0cheng
Fix #6292
r @jonas-schievink
Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2020-12-11 22:17:40 +00:00
Edwin Cheng
ae29fb0211
Add missing arg for eat_char
2020-12-12 06:14:11 +08:00
Lukas Wirth
8ed8e4f25a
Use Attrs::docs in NavigationTarget instead of DocCommentsOwner
2020-12-11 21:19:58 +01:00
bors[bot]
91bf15a2f5
Merge #6834
...
6834: Use Attrs::docs in runnables instead of DocCommentsOwner r=kjeremy a=Veykril
I figured that we should probably move as much of the doc usage to the HIR as possible hence this PR. If we should keep this AST-based feel free to close.
This change does have the nice(but not really useful as I doubt anyones gonna write doc tests like these) side effect that these two doc string snippets allow being run now.


Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-12-11 19:57:08 +00:00
Lukas Wirth
ac19a71459
Use Attrs::docs in runnables instead of DocCommentsOwner
2020-12-11 20:11:03 +01:00
Jonas Schievink
00c34b048e
Add upstream commit to builtin_attr.rs
2020-12-11 19:12:06 +01:00
bors[bot]
3674e494ca
Merge #6819
...
6819: Add builtin attributes for use in nameres r=jonas-schievink a=jonas-schievink
These are not yet used, but have to go through nameres later in order to support procedural macro attributes
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2020-12-11 18:03:09 +00:00
Jonas Schievink
2fdde98b5c
Move print_memory_usage to cli.rs
2020-12-11 18:24:27 +01:00
Jonas Schievink
c007ac3830
Avoid panic when collecting memory metrics
2020-12-11 18:18:27 +01:00
Lukas Wirth
37c5b82938
Don't highlight parent nodes of comments on hover
2020-12-11 16:00:52 +01:00
Aleksey Kladov
4015ff0e0b
Improve code structure
...
Make sure that there's only one entry point, analyze, remove awkard
analyzer2 name
2020-12-11 17:06:21 +03:00
Jonas Schievink
253678ead2
Add builtin attributes for use in nameres
2020-12-11 14:04:33 +01:00
Aleksey Kladov
e179ed6f53
Use natural trait ordering in derive completion
...
derive(Clone, Copy) reads better than derive(Copy, Clone).
However, we preserve the reverse ordering in the lookup text for
sorting purposes. That way, it's convenient to type just `Ord` to
derive everything.
2020-12-11 15:45:53 +03:00
Edwin Cheng
175229ab3d
negative sign matching in mbe matching for literal
2020-12-11 17:59:04 +08:00
bors[bot]
41321d9678
Merge #6807
...
6807: Replicate Cargo environment variables r=jonas-schievink a=jonas-schievink
These might be relied on by procedural macros, and can also be accessed via `env!`.
Required for fixing https://github.com/rust-analyzer/rust-analyzer/issues/6696 . We do not yet propagate these to any proc macros though.
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2020-12-10 18:30:11 +00:00
Jonas Schievink
4d4b91117a
Use itertools
2020-12-10 19:29:11 +01:00
bors[bot]
814e31957e
Merge #6804
...
6804: Bump the macro token limit r=jonas-schievink a=jonas-schievink
Should fix https://github.com/rust-analyzer/rust-analyzer/issues/6504
Not entirely sure what the previous limit was based on, but it looks like it does get hit in practice.
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2020-12-10 18:14:17 +00:00
Jonas Schievink
41d73d1312
Replicate Cargo environment variables
2020-12-10 18:51:39 +01:00
bors[bot]
0baff25d99
Merge #6805
...
6805: Fix accidently quadratic syntax rewriter r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-12-10 17:08:59 +00:00
Aleksey Kladov
3d5be5ba5b
Fix accidently quadratic syntax rewriter
...
Switching from SyntaxNode to GreenNode is a costly operation (b/c
dereferencing a synax ptr in `with_green` is linear), so we should
avoid that.
2020-12-10 20:07:37 +03:00
Jonas Schievink
829d9d36eb
Use decimal notation
2020-12-10 18:03:37 +01:00
Jonas Schievink
19508b474f
Double the macro token limit
2020-12-10 17:51:39 +01:00
Jonas Schievink
614e5a2272
Improve macro limit error and move to const
2020-12-10 17:50:56 +01:00
bors[bot]
44978acf51
Merge #6769
...
6769: Add native "remove this semicolon" diagnostics r=matklad a=ivan770
Closes #6739

Co-authored-by: ivan770 <leshenko.ivan770@gmail.com>
2020-12-10 16:18:49 +00:00
ivan770
bbb0bc7b04
Cast to ExprStmt, style fixes
2020-12-10 18:10:39 +02:00
Aleksey Kladov
78de7f0d4a
Remove debug print
2020-12-10 18:30:49 +03:00
bors[bot]
a6c8098113
Merge #6798
...
6798: Ignore extern items in incorrect-case check r=jonas-schievink a=jonas-schievink
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/6736
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2020-12-10 15:08:30 +00:00
Aleksey Kladov
076945e47c
Minor, more orthogonal code
...
It's better to accept things as arguments rather than store them.
2020-12-10 18:01:02 +03:00
Jonas Schievink
05d4a5a150
Use mark/hit
2020-12-10 15:56:04 +01:00
Jonas Schievink
d338513e95
Remove item tree tests
...
They were useful during initial development of the item tree, but
now just cause churn
2020-12-10 15:53:48 +01:00
Aleksey Kladov
17f236c2b0
Normalize spelling to American English
2020-12-10 17:51:56 +03:00
Jonas Schievink
d82292e1ce
Ignore extern items in incorrect-case check
2020-12-10 15:45:01 +01:00
Jonas Schievink
f57ce36988
Fix FileId computation in IncorrectCase fix
2020-12-10 14:16:34 +01:00
Jonas Schievink
948832d10b
format_args: handle key-value arguments
2020-12-10 13:46:47 +01:00
kjeremy
78dd2ba196
Send a CodeLensRefresh when we reload
2020-12-09 14:36:47 -05:00
Jonas Schievink
dedd888570
Implement HirDisplay for FnSig
...
This could be useful for diagnostics, but isn't used right now
2020-12-09 18:06:56 +01:00
bors[bot]
243ba330dd
Merge #6785
...
6785: Fix "no value set for FileTextQuery(FileId(..))" r=jonas-schievink a=jonas-schievink
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/6622
Let's hope I got it right this time, but I feel like I slowly begin to understand the main loop logic.
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2020-12-09 16:32:03 +00:00
Jonas Schievink
6857989f6f
Fix "no value set for FileTextQuery(FileId(..))"
2020-12-09 17:30:46 +01:00
Aleksey Kladov
6e24321e45
Introduce anchored_path
...
They allow to represent paths like `#[path = "C:\path.rs"] mod foo;`
in a lossless cross-platform & network-transparent way.
2020-12-09 19:07:05 +03:00
Aleksey Kladov
5e3891c255
.
2020-12-09 18:42:07 +03:00
Jonas Schievink
d477c09c8a
Avoid nesting Subtrees when parsing TokenStream
2020-12-09 14:58:46 +01:00