David Lattimore
6bbeffc8c5
SSR: Allow self
in patterns.
...
It's now consistent with other variables in that if the pattern
references self, only the `self` in scope where the rule is invoked will
be accepted. Since `self` doesn't work the same as other paths, this is
implemented by restricting the search to just the current function.
Prior to this change (since path resolution was implemented), having
self in a pattern would just result in no matches.
2020-08-01 17:41:42 +10:00
David Lattimore
21d2cebcf1
SSR: Matching trait associated constants, types and functions
...
This fixes matching of things like `HashMap::default()` by resolving
`HashMap` instead of `default` (which resolves to `Default::default`).
Same for associated constants and types that are part of a trait
implementation.
However, we still don't support matching calls to trait methods.
2020-08-01 12:55:26 +10:00
bors[bot]
5af32aeb2b
Merge #5635
...
5635: Better JSON serialization in metrics r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-08-01 02:10:16 +00:00
Aleksey Kladov
a015714def
Better JSON serialization in metrics
2020-08-01 04:09:52 +02:00
kjeremy
fcfd7cb1e3
Handle semantic token deltas
2020-07-31 20:57:53 -04:00
bors[bot]
2346a28c63
Merge #5634
...
5634: Finish rename r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-07-31 20:05:10 +00:00
Aleksey Kladov
8cf19847dd
Finish rename
2020-07-31 22:04:12 +02:00
Aleksey Kladov
b9c6aa9ec9
Unify naming of tuple fields
2020-07-31 22:04:12 +02:00
Aleksey Kladov
675e86becf
Section headers
2020-07-31 21:56:52 +02:00
bors[bot]
1914d0aa7b
Merge #5633
...
5633: Rename DotDotPat -> RestPat r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-07-31 19:47:23 +00:00
Aleksey Kladov
22d295ceaa
Rename DotDotPat -> RestPat
2020-07-31 21:45:29 +02:00
bors[bot]
215b9b9ccc
Merge #5632
...
5632: Cleanup impl gramamr r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-07-31 18:29:21 +00:00
Aleksey Kladov
af53d5f4b0
Rename
2020-07-31 20:23:52 +02:00
Aleksey Kladov
81359af733
Simplify trait gramamr
2020-07-31 20:22:20 +02:00
bors[bot]
38ab326aac
Merge #5631
...
5631: Finalize pattern grammar r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-07-31 18:12:38 +00:00
Aleksey Kladov
9818108798
Rename BindPat -> IdentPat
2020-07-31 20:12:10 +02:00
Aleksey Kladov
6791eb9685
Rename PalceholderPat -> WildcardPat
2020-07-31 20:07:21 +02:00
Aleksey Kladov
d7f75db90d
Reorder
2020-07-31 20:04:40 +02:00
Aleksey Kladov
14cb96ec0e
Allign RecordPat with RecordExpr
2020-07-31 20:00:48 +02:00
Aleksey Kladov
572f1c08b6
Minor gramamr reorder
2020-07-31 19:49:26 +02:00
bors[bot]
5cade89d73
Merge #5630
...
5630: Remove dead code r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-07-31 16:56:57 +00:00
Aleksey Kladov
45e6052406
Remove dead code
2020-07-31 18:53:10 +02:00
bors[bot]
5d9145ce10
Merge #5629
...
5629: Finalize Path grammar r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-07-31 16:50:43 +00:00
Aleksey Kladov
c1c97b2896
Fix leading colon
2020-07-31 18:49:42 +02:00
Aleksey Kladov
ddf08daddf
Fix const arguments grammar
2020-07-31 18:46:07 +02:00
Aleksey Kladov
040b4c800d
Fix GenericArgs grammar
2020-07-31 18:41:37 +02:00
bors[bot]
0392a894b7
Merge #5627
...
5627: Specify literal tokens r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-07-31 16:34:18 +00:00
Laurențiu Nicola
e5d7b003af
Rename test modules
2020-07-31 19:30:37 +03:00
Aleksey Kladov
d21b5db891
fixup! Finalize Path grammar
2020-07-31 18:30:02 +02:00
Aleksey Kladov
91781c7ce8
Rename TypeArgList -> GenericArgList
2020-07-31 18:29:29 +02:00
Aleksey Kladov
54fd09a9ca
Finalize Path grammar
2020-07-31 18:27:23 +02:00
Aleksey Kladov
8d28289d0f
Specify literal tokens
2020-07-31 18:16:08 +02:00
bors[bot]
98975a772a
Merge #5626
...
5626: Minor r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-07-31 16:12:01 +00:00
Aleksey Kladov
7980a7e19a
Minor
2020-07-31 18:10:46 +02:00
bors[bot]
c1e53d668f
Merge #5625
...
5625: Document crates.io deps policy r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-07-31 15:17:56 +00:00
Aleksey Kladov
389ad925ff
Document crates.io deps policy
2020-07-31 17:17:32 +02:00
bors[bot]
7325283c69
Merge #5624
...
5624: Finalize expressions grammar r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-07-31 15:09:31 +00:00
Aleksey Kladov
633aace411
Rename LambdaExpr -> ClosureExpr
2020-07-31 17:08:58 +02:00
Aleksey Kladov
bfcee63e75
Work on expressions grammar
2020-07-31 16:52:08 +02:00
bors[bot]
ad239f6197
Merge #5623
...
5623: Item is a Stmt r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-07-31 13:54:19 +00:00
Aleksey Kladov
d4d986c7f8
Item is a Stmt
2020-07-31 15:51:01 +02:00
Aleksey Kladov
a7ca6583fb
Handwrite Stmt
2020-07-31 15:40:48 +02:00
bors[bot]
3407d6f8a4
Merge #5622
...
5622: Finalize WhereClause gramamr r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-07-31 13:29:34 +00:00
Aleksey Kladov
4d38b0dce1
Move Stmt Grammar
2020-07-31 15:27:40 +02:00
Aleksey Kladov
c04c06c4bc
Finalize WhereClause gramamr
2020-07-31 15:13:00 +02:00
bors[bot]
84bf024094
Merge #5621
...
5621: Finalize TypeBound grammar r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-07-31 13:01:54 +00:00
Aleksey Kladov
b250ae6c55
Finalize TypeBound grammar
2020-07-31 15:01:18 +02:00
bors[bot]
847a50e74e
Merge #5620
...
5620: Finalize Types grammar r=matklad a=matklad
Note that `for` type is rust-analyzer's own invention.
Both the reference and syn allow `for` only for fnptr types, and we
allow them everywhere. This needs to be checked with respect to type
bounds grammar...
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-07-31 12:42:31 +00:00
Aleksey Kladov
a6527ed92c
"Finalize" Types grammar
...
Note that `for` type is rust-analyzer's own invention.
Both the reference and syn allow `for` only for fnptr types, and we
allow them everywhere. This needs to be checked with respect to type
bounds grammar...
2020-07-31 14:40:28 +02:00
bors[bot]
eccb5d52d3
Merge #5619
...
5619: Reame PlaceholderType -> InferType r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-07-31 12:13:31 +00:00