Aleksey Kladov
89694ec8f6
Support arbitrary discriminants
...
Closes #3661
2020-03-20 08:50:34 +01:00
Florian Diebold
e6ec4a329f
Better fix for stuck parser?
2020-03-16 18:38:19 +01:00
Florian Diebold
c32529ddd0
Get tests working
2020-03-16 18:38:19 +01:00
Aleksey Kladov
bee5cdb359
Parse variadics correctly
...
closes #3571
2020-03-13 13:54:14 +01:00
Aleksey Kladov
1e19847af3
Move verbose tests out of line
2020-03-13 12:20:42 +01:00
Aleksey Kladov
4a745cc8cf
Fix parsing of stement-ish binary expressions
...
closes #3512
2020-03-11 14:28:18 +01:00
Edwin Cheng
1465cc0c4f
Implement concat macro
2020-03-04 01:21:14 +08:00
Aleksey Kladov
a1e1869554
Rename ast::ImplBlock -> ast::ImplDef
2020-02-29 21:33:15 +01:00
Edwin Cheng
f4e48ad3e4
Parse attr in rhs of let stmts
2020-02-28 13:08:47 +08:00
Veetaha
59dc797eb3
Fix dat comment
2020-02-22 14:16:13 +02:00
Kirill Bulatov
eceaf94f19
More manual clippy fixes
2020-02-18 16:12:37 +02:00
Kirill Bulatov
b8ddcb0652
Run cargo +nightly fix --clippy -Z unstable-options
2020-02-18 16:03:08 +02:00
Han Mertens
b435fe8b77
Add test for unnamed argument in function pointer
2020-02-12 22:55:37 +01:00
Han Mertens
0e10e77a78
Support unnamed arguments in function pointers
...
Fixes #3089
2020-02-12 21:40:05 +01:00
Matthew Jasper
49b53cd7a0
Address review comments
2020-02-10 20:11:44 +00:00
Matthew Jasper
8c8d0bb34f
Add or- and parenthesized-patterns
2020-02-09 22:06:15 +00:00
Kirill Bulatov
740a26b7d2
Rename add import assist
2020-02-07 23:53:08 +02:00
bors[bot]
8337dcd9e2
Merge #3047
...
3047: Update async unsafe fn ordering in parser r=matklad a=kiljacken
As of rust-lang/rust#61319 the correct order for functions that are both unsafe and async is: `async unsafe fn` and not `unsafe async fn`.
This commit updates the parser tests to reflect this, and corrects parsing behavior to accept the correct ordering.
Fixes #3025
Co-authored-by: Emil Lauridsen <mine809@gmail.com>
2020-02-07 13:21:02 +00:00
Emil Lauridsen
73ec2ab184
Update async unsafe fn ordering.
...
As of rust-lang/rust#61319 the correct order for functions that are both
unsafe and async is: `async unsafe fn` and not `unsafe async fn`.
This commit updates the parser tests to reflect this, and corrects
parsing behavior to accept the correct ordering.
Fixes #3025
2020-02-07 13:51:51 +01:00
Toby Dimmick
90ff2be4e8
PR tweaks
2020-02-07 12:36:33 +00:00
Toby Dimmick
0183952d2e
Closure params test
2020-02-06 20:39:27 +00:00
Toby Dimmick
e1921ea59c
rustfmt
2020-02-06 20:04:35 +00:00
Toby Dimmick
7e66785859
Rework value parameter parsing
...
- `Fn__(...)` parameters with idents/patterns no longer parse
- Trait function parameters with arbitrary patterns parse
- Trait function parameters without idents/patterns no longer parse
- `fn(...)` parameters no longer parse with patterns other than a single ident
2020-02-06 19:45:51 +00:00
Veetaha
3ec781d4f2
ra_syntax: remove code duplication and token reevaluation from ast::Literal::kind()
2020-01-22 13:02:21 +02:00
Aleksey Kladov
3a859e587f
Nest attrs into exprs in function args
2020-01-17 11:47:07 +01:00
Aleksey Kladov
b7c45fba57
Extract expr_with_attrs
2020-01-17 11:44:40 +01:00
Aleksey Kladov
90b8a31b83
Merge pull request #2813 from jyn514/arg_attributes
...
Allow attributes before function arguments
2020-01-17 11:15:07 +01:00
Joshua Nelson
f077d5c303
move inline function closer to relevant code
...
also updates generated inline tests
2020-01-16 22:20:17 -05:00
bors[bot]
ea2b27d8b9
Merge #2865
...
2865: fix(mixed): fixed a couple of typos and added a todo r=kjeremy a=Veetaha
Fixed a couple of typos and added a todo while studying the codebase.
Co-authored-by: Veetaha <gerzoh1@gmail.com>
2020-01-17 02:20:16 +00:00
Aleksey Kladov
5398b9eeba
Minimize test
2020-01-16 18:39:29 +01:00
Aleksey Kladov
ab0a11b1de
Simplify array parsing
2020-01-16 18:35:03 +01:00
Edwin Cheng
a766883a75
fix formating
2020-01-16 23:48:03 +08:00
Edwin Cheng
ed8d5c86e3
Fix array element attribute position
2020-01-16 23:37:43 +08:00
Joshua Nelson
c78e34968f
shrink inline tes
2020-01-15 19:12:56 -05:00
Veetaha
a24dcd7bab
fix(ra_parser.typo): amend 'format language' to 'formal language'
2020-01-15 23:29:55 +02:00
Joshua Nelson
c3ac2c93fb
Allow attributes before function arguments
...
This adds support for function calls of the form:
```rust
(
#[attr(...)] 1.2,
#[attr_one(...)]
#[attr_two(...)]
1.5,
... etc ...
)
```
Closes https://github.com/rust-analyzer/rust-analyzer/issues/2801
2020-01-12 10:25:41 -05:00
Emil Lauridsen
aa433c67d8
Parse trait aliases
2020-01-09 18:40:01 +01:00
Michael Chesser
ce1b34fd59
Improve const generics parsing
...
- Handle const generics type args
- Fix issue with const generic as first parameter in trait impl
2020-01-07 09:29:03 +10:30
Aleksey Kladov
084bd304f3
Switch ast declaration from ron to a macro
2020-01-03 21:54:10 +01:00
bors[bot]
436df298ba
Merge #2642
...
2642: Use name instead of ident in parser for macro 2.0 syntax r=matklad a=edwin0cheng
Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2019-12-22 08:05:02 +00:00
bors[bot]
d33493d779
Merge #2641
...
2641: Parse const generics r=matklad a=roblabla
Adds very primitive support for parsing const generics (`const IDENT: TY`) so that rust-analyzer stops complaining about the syntax being invalid.
Fixes #1574
Fixes #2281
Co-authored-by: roblabla <unfiltered@roblab.la>
2019-12-22 07:56:33 +00:00
Edwin Cheng
737045c1ea
Use name instead of ident for macro 2.0 sytnax
2019-12-22 11:11:10 +08:00
roblabla
b04d4a88d1
Parse const generics
...
Fixes #1574
Fixes #2281
2019-12-22 01:32:08 +00:00
Edwin Cheng
4195c0e5f9
Add macro keyword to ITEM_RECOVERY_SET
2019-12-21 18:42:17 +08:00
Edwin Cheng
bea8f58118
Add macro 2.0 support in parser
2019-12-21 18:29:14 +08:00
Edwin Cheng
4a7e19946a
Fix parser for macro call in pattern position
2019-12-20 23:26:04 +08:00
Aleksey Kladov
0ed8ce096d
Touch up TokenSet a bit
2019-12-19 17:13:33 +01:00
Aleksey Kladov
6edc54a1e6
Refactor macro tests
2019-12-19 16:23:23 +01:00
Aleksey Kladov
5c3c2b8690
Fix parsing of interpolated expressions
2019-12-19 14:43:19 +01:00
Aleksey Kladov
3e2f4e4293
Improve recovery for incomplete lambdas
2019-12-17 12:11:01 +01:00