Aleksey Kladov
3dce34aaf8
Introduce GenericParam
2020-07-30 18:52:02 +02:00
Aleksey Kladov
c5798c4d75
Finalize impl Grammar
2020-07-30 18:28:28 +02:00
Aleksey Kladov
c83467796b
Finalize Trait grammar
2020-07-30 18:17:28 +02:00
Aleksey Kladov
3cd4112bdc
Finalize const&static grammar
2020-07-30 18:02:20 +02:00
Aleksey Kladov
1766aae145
Rename EnumVariant -> Variant
2020-07-30 17:56:53 +02:00
Aleksey Kladov
609680ef97
Rename EnumDef -> Enum
2020-07-30 17:52:53 +02:00
Aleksey Kladov
216a5344c8
Rename StructDef -> Struct
2020-07-30 17:50:40 +02:00
Aleksey Kladov
1ae4721c9c
Finalize union grammar
2020-07-30 17:38:52 +02:00
Aleksey Kladov
0a9e3ccc26
Rename FieldDef -> Field
2020-07-30 16:49:13 +02:00
Aleksey Kladov
6f8aa75329
Rename RecordLit -> RecordExpr
2020-07-30 16:21:30 +02:00
Aleksey Kladov
28ef4c375a
Rename TypeParamList -> GenericParamList
2020-07-30 15:36:21 +02:00
Aleksey Kladov
eb2f806344
Rename TypeAliasDef -> TypeAlias
2020-07-30 15:25:46 +02:00
Aleksey Kladov
1142112c70
Rename FnDef -> Fn
2020-07-30 15:16:05 +02:00
Aleksey Kladov
b1332670c7
Rename UseItem -> Use
2020-07-30 14:20:33 +02:00
Aleksey Kladov
d032f872b6
Finish extern crates grammar
2020-07-30 12:31:07 +02:00
Aleksey Kladov
6cd2131caf
Rename Rename
2020-07-30 11:58:41 +02:00
Aleksey Kladov
081f35fe1b
Update tests
2020-07-30 11:50:56 +02:00
Aleksey Kladov
2984da672e
Split ItemList & AssocItemList
2020-07-30 11:50:56 +02:00
Aleksey Kladov
ede5d17b04
Finish SourceFile grammar
2020-07-30 00:46:39 +02:00
Aleksey Kladov
b10e437039
Fix nameref parsing
2020-07-28 20:59:48 +02:00
Yuki Okushi
6f423466d1
Add a license field to all the crates
2020-07-14 10:57:26 +09:00
Veetaha
e75e2ae5b6
Simlify with matches!()
2020-06-28 04:03:59 +03:00
Laurențiu Nicola
2c72d2f438
Micro-optimize lookahead in composite tokens
2020-06-26 21:47:17 +03:00
Laurențiu Nicola
76ddface08
Fix panic in split and merge import assists
2020-06-23 16:51:07 +03:00
Aleksey Kladov
d739731830
Allow attributes on expressions
...
https://github.com/rust-lang/rust/pull/69201/
2020-06-15 10:59:05 +02:00
Matthew Jasper
8622e4cc1b
Add example of old trait object syntax
2020-06-11 18:15:03 +01:00
Matthew Jasper
879693e63c
Move complex inline test to own file
2020-06-11 18:14:57 +01:00
Matthew Jasper
506e1ddbfa
Separating parsing of for
in predicates and types
2020-06-10 11:30:58 +01:00
Aleksey Kladov
e8d50578ab
Correctly parse <_> paths in patterns
...
closes #3659
2020-06-09 13:45:18 +02:00
Aleksey Kladov
16943e533c
Minor, use T!
2020-06-09 13:45:11 +02:00
Aleksey Kladov
2785362a1f
Update crates/ra_parser/src/grammar/items.rs
2020-06-09 10:50:25 +02:00
Avi Dessauer
e38685cb48
Parse default unsafe fn
2020-06-08 17:49:06 -04:00
Avi Dessauer
c4fd463981
Move default const test out of line
2020-06-04 13:06:57 -04:00
Avi Dessauer
3ec2dcfc0d
Address review
2020-06-04 13:00:21 -04:00
Avi Dessauer
fb632c747d
Parse default unsafe & default const
2020-06-03 20:16:38 -04:00
Nelson Elhage
8101ea0fdc
Update a comment for the new source organization
2020-05-31 16:04:52 -07:00
robojumper
367487fe88
Support raw_ref_op's raw reference operator
2020-05-28 21:42:22 +02:00
Simon Vandel Sillesen
ef6d53521f
Shrink ra_parser::Event from 32 bytes to 16 bytes
...
This boxes the Error variant with the assumption that it is rarely constructed
2020-05-16 22:20:44 +02:00
Aleksey Kladov
359d3be308
Fix parsing of blocks without {
2020-05-02 14:35:17 +02:00
Aleksey Kladov
623faefcda
Cleanup inline tests
2020-05-02 11:21:39 +02:00
Aleksey Kladov
4f2134cc33
Introduce EffectExpr
2020-05-02 11:21:39 +02:00
Aleksey Kladov
fd030f9450
Revert "Merge #4233 "
...
This reverts commit a5f2b16366
, reversing
changes made to c96b2180c1
.
2020-05-02 01:12:37 +02:00
Aleksey Kladov
292ba6a1f8
Remove dead code, which elaborately pretends to be alive
2020-04-30 22:41:14 +02:00
bors[bot]
745bd45ddb
Merge #4227
...
4227: Report invalid, nested, multi-segment crate-paths r=matklad a=djrenren
There was a bug in the previous path-validating code that didn't detect multi-segment paths that started with `crate`.
```rust
// Successfully reported
use foo::{crate};
// BUG: was not being reported
use foo::{crate::bar};
```
This was due to my confusion about path-associativity. That is, the path with no qualifier is the innermost path, not the outermost. I've updated the code with a lot of comments to explain what's going on.
This bug was discovered when I found an erroneous `ok` test which I reported here:
https://github.com/rust-analyzer/rust-analyzer/issues/4226
This test now fails and has been modified, hopefully in the spirit of the original test, to be correct. Sorry about submitting the bug in the first place!
Co-authored-by: John Renner <john@jrenner.net>
2020-04-30 18:37:35 +00:00
John Renner
513a3615f6
Report invalid, nested, multi-segment crate-paths
...
Specifically, things like:
use foo::{crate::bar};
Are now being caught, when before we only caught:
use foo::{crate};
2020-04-30 11:16:09 -07:00
Edwin Cheng
45c4f620b1
Special-case try macro_rules
2020-04-30 22:07:46 +08:00
Aleksey Kladov
c51c8bfb84
Special-case try macro to better support 2015 edition
2020-04-30 14:17:14 +02:00
Aleksey Kladov
5e5eb6a108
Align grammar for record patterns and literals
...
The grammar now looks like this
[name_ref :] pat
2020-04-12 00:00:15 +02:00
Aleksey Kladov
6b49e774e2
Remove dead code
2020-04-11 23:08:05 +02:00
Aleksey Kladov
7a39bc3ba2
Make records grammar more orthogonal
...
We used
name [: expr]
grammar before, now it is
[name :] expr
which makes things simpler
2020-04-11 19:20:41 +02:00