Aleksey Kladov
313314e14b
share literal validation logic with compiler
2019-05-07 19:41:59 +03:00
Edwin Cheng
b454eb5a60
Add macro pat parsing
2019-04-30 23:22:48 +08:00
Edwin Cheng
d436ab0581
Refactor parser handle mult-char punct internally
2019-04-28 23:46:03 +08:00
Edwin Cheng
6c913d8fa7
Add ...
parsing for fn pointer type
2019-04-23 11:10:41 +08:00
Aleksey Kladov
20013de2ab
fix typo
2019-04-11 17:15:20 +03:00
robojumper
ca40ca93a5
Parse and infer tuple indices
2019-04-06 01:07:35 +02:00
robojumper
636270f4a4
Parse unsafe async / const unsafe fns properly
2019-04-03 17:11:56 +02:00
Aleksey Kladov
7d6bd5d137
always show token text
2019-04-02 14:49:46 +03:00
bors[bot]
56f3524c69
Merge #1082
...
1082: Async block in argument position r=matklad a=andreytkachenko
Fixes case when async block appears in argument position
Co-authored-by: Andrey Tkachenko <andreytkachenko64@gmail.com>
2019-04-01 11:22:13 +00:00
Andrey Tkachenko
e89b97524a
Async block in argument position
2019-04-01 15:15:41 +04:00
robojumper
d43dff43b4
Async closure syntax
2019-03-31 16:35:22 +02:00
Ville Penttinen
3f62ab8f51
Add WherePred to allow predicate access in WhereClause
...
This also unifies parsing of WHERE_PRED bounds, now Lifetime bounds will also be
parsed using TYPE_BOUND_LIST
2019-03-31 13:20:56 +03:00
bors[bot]
4666138c91
Merge #1072
...
1072: recognize async move blocks r=matklad a=memoryruins
closes #1053
Co-authored-by: memoryruins <memoryruinsmusic@gmail.com>
2019-03-31 09:18:21 +00:00
Ville Penttinen
245c0d8584
Update tests
2019-03-31 10:39:23 +03:00
Ville Penttinen
bfc2ac90c8
Update tests
2019-03-30 17:11:46 +02:00
Ville Penttinen
444a119220
Fix parsing <= in type_args
2019-03-30 13:52:47 +02:00
memoryruins
c7264b4f07
add test for async blocks
2019-03-28 18:54:06 -04:00
memoryruins
7a06282d71
Add tests to ra_syntax for extern_crate_self
2019-03-28 12:15:44 -04:00
Ville Penttinen
95505e80fc
Support references in higher-ranked trait bounds
...
Fixes #1020
2019-03-24 20:51:55 +02:00
Aleksey Kladov
4fd8cfd6ad
replace todo with fixme
2019-03-23 11:07:09 +03:00
pcpthm
bf8e7930da
Fix reparsing failure when removing newline
2019-03-22 08:09:11 +09:00
pcpthm
edbc18516d
Fix reparsing bug on "{}{}"
2019-03-22 08:09:11 +09:00
pcpthm
ec59d9bda5
Fix lexer not producing right token on "_"
2019-03-22 08:09:11 +09:00
pcpthm
9623e77d9f
Fix reparsing bug when lex result is different
2019-03-22 08:09:11 +09:00
pcpthm
0acb61a911
Fix an arithmetic overflow in reparser
2019-03-22 08:09:11 +09:00
pcpthm
4c7142d0c9
Add fuzz test for reparsing
2019-03-22 08:04:48 +09:00
pcpthm
e734190c24
Refactor parser fuzz testing
2019-03-22 08:04:48 +09:00
pcpthm
2fb110e1fa
Error about attributes on
...
unallowed types of expression statement
2019-03-19 17:37:08 +09:00
pcpthm
ffed132e52
Allow attributes on top level expression
...
A top level expression is either
- a expression statement or
- the last expression in a block
2019-03-19 17:24:02 +09:00
bors[bot]
1cd18f9237
Merge #991
...
991: Use Marker argument for item parsers r=matklad a=pcpthm
Before doing this for expressions, I found that the pattern (Marker argument) should be applied to the item parsers because visiblity and modifiers are parsed in a separate function.
Fixed some parser bugs:
- Fix pub_expr: `pub 42;` was allowed.
- Fix incorrect parsing of crate::path: incorrectly parsed as `crate` as a visibility.
Co-authored-by: pcpthm <pcpthm@gmail.com>
2019-03-18 09:32:28 +00:00
pcpthm
76075c7410
Use Marker argument for item parsers
...
- Fix pub_expr
- Fix incorrect parsing of crate::path
2019-03-18 14:34:08 +09:00
bors[bot]
91e7a3b6f2
Merge #983
...
983: support remainder assignment operator r=matklad a=JeanMertz
`%=` was returning errors for me, turns out it wasn't added as a valid assignment operation.
I'm not sure what the best location would be to add a test for this. Please let me know and I'll add one.
Co-authored-by: Jean Mertz <jean@mertz.fm>
2019-03-17 14:34:14 +00:00
Jean Mertz
a8ee994ae0
support remainder assignment operator
2019-03-17 14:11:24 +01:00
pcpthm
a67fe4ea7e
Fix parse tree of attribute on match arm
2019-03-17 20:57:27 +09:00
pcpthm
a1d84f5fb0
Allow attribute on struct literal field
2019-03-17 19:08:35 +09:00
Michael Chesser
943d2fb781
Add test for minus in inner pattern
2019-03-14 19:24:12 +10:30
Caio
cc9721996c
Add test for async block
2019-03-10 14:35:25 -03:00
Caio
ad72699553
Add async keyword
2019-03-09 20:40:22 -03:00
Ville Penttinen
1f4468a8da
Add support for parsing multiple if and while-let patterns
2019-03-04 19:10:14 +02:00
Aleksey Kladov
90122542b2
allow mut ident
patterns in trait methods
...
closes #928
2019-03-04 17:47:02 +03:00
Aleksey Kladov
0a19f4f1b4
allow aliases in underscores
...
this helps with
use foo::Trait as _;
syntax
2019-03-04 16:40:08 +03:00
bors[bot]
dc8bcc1e42
Merge #926
...
926: allow vararg functions r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-03-04 12:49:37 +00:00
Aleksey Kladov
77f2381eea
improve error recovery
...
parse the contents of error block as an expression
2019-03-04 15:31:18 +03:00
Aleksey Kladov
a99b1db49f
allow vararg functions
2019-03-04 14:34:59 +03:00
Aleksey Kladov
78f10fcdc4
rename type to type_alias in the AST as well
2019-02-25 13:49:32 +03:00
Aleksey Kladov
f7f99af0a6
kill utils module
2019-02-21 15:57:40 +03:00
Ville Penttinen
58d14bcaf7
Enable parsing attributes for generic lifetimes and type parameters
2019-02-17 23:32:10 +02:00
Ville Penttinen
96e3ac389f
Parse only outer_attributes for match arms for now
2019-02-17 19:48:08 +02:00
Ville Penttinen
1c97c1ac11
Enable parsing of attributes inside a match block
...
We allow invalid inner attributes to be parsed, e.g. inner attributes that are
not directly after the opening brace of the match block.
Instead we run validation on `MatchArmList` to allow better reporting of errors.
2019-02-17 19:26:57 +02:00
Aleksey Kladov
4e91c23c79
rename yellow -> syntax_node
...
why yellow in the first place? Its red + green.
2019-02-12 19:02:30 +03:00