aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_parser/src/grammar
Commit message (Collapse)AuthorAgeFilesLines
* fix: box_patterncsmoe2019-06-193-5/+18
| | | | Change-Id: I45a856d74fb616d3bce33050f9e69d327186bd59
* fix: box_syntax(#1412)csmoe2019-06-181-0/+5
| | | | Change-Id: I6e20e0163fa545de37226c1561b3b7103615626c
* fix: support existential typecsmoe2019-06-121-3/+13
|
* fix: never type with bindingcsmoe2019-06-071-1/+3
| | | | Change-Id: I14e1bc628b9d2dfdb1f40de3d3707f4e872767f2
* [#1083] Try block syntax: fix testsAndrey Tkachenko2019-06-061-7/+7
|
* [#1083] Try block syntaxAndrey Tkachenko2019-06-061-1/+17
|
* Fix clippy::if_same_then_elseAlan Du2019-06-041-0/+1
|
* reformatAleksey Kladov2019-05-234-8/+8
|
* apply T! macro where it is possibleSergey Parilin2019-05-1514-423/+423
|
* Add macro pat parsingEdwin Cheng2019-04-301-1/+10
|
* Refactor parser handle mult-char punct internallyEdwin Cheng2019-04-281-1/+1
|
* Simplifykjeremy2019-04-261-6/+6
|
* Add `...` parsing for fn pointer typeEdwin Cheng2019-04-232-2/+3
|
* Add expr, pat, ty and macro_stmtsEdwin Cheng2019-04-181-10/+34
|
* Add mbe stmt matcherEdwin Cheng2019-04-171-72/+82
|
* Fix bug and add expr , pat , ty matcherEdwin Cheng2019-04-142-10/+42
|
* Parse and infer tuple indicesrobojumper2019-04-061-1/+12
|
* Parse unsafe async / const unsafe fns properlyrobojumper2019-04-031-6/+17
|
* Merge #1082bors[bot]2019-04-011-0/+1
|\ | | | | | | | | | | | | | | 1082: Async block in argument position r=matklad a=andreytkachenko Fixes case when async block appears in argument position Co-authored-by: Andrey Tkachenko <[email protected]>
| * Async block in argument positionAndrey Tkachenko2019-04-011-0/+1
| |
* | Async closure syntaxrobojumper2019-03-312-3/+13
|/
* Add WherePred to allow predicate access in WhereClauseVille Penttinen2019-03-311-1/+1
| | | | | This also unifies parsing of WHERE_PRED bounds, now Lifetime bounds will also be parsed using TYPE_BOUND_LIST
* Merge #1072bors[bot]2019-03-312-3/+3
|\ | | | | | | | | | | | | | | 1072: recognize async move blocks r=matklad a=memoryruins closes #1053 Co-authored-by: memoryruins <[email protected]>
| * recognize async movememoryruins2019-03-282-3/+3
| |
* | Change parsing bounds in path_typesVille Penttinen2019-03-312-11/+40
| | | | | | | | | | | | | | | | Now bounds inside a path are parsed as DYN_TRAIT_TYPE, previously they would be parsed as `PATH_TYPE` followed by `TYPE_BOUND_LIST`. Basically this means `Box<T + 'f>` is now parsed almost the same as `Box<dyn T + 'f>` with the exception of not having the `dyn` keyword.
* | Move parsing a single TYPE_BOUND to a separate functionVille Penttinen2019-03-301-19/+26
| |
* | Add new TYPE_BOUND_LIST and TYPE_BOUND syntax kindsVille Penttinen2019-03-302-2/+10
| | | | | | | | | | | | These are now used when parsing type bounds. In addition parsing paths inside a bound now does not recursively parse paths, rather they are treated as separate bounds, separated by +.
* | Fix parsing <= in type_argsVille Penttinen2019-03-302-0/+2
|/
* Support references in higher-ranked trait boundsVille Penttinen2019-03-241-0/+3
| | | | Fixes #1020
* replace todo with fixmeAleksey Kladov2019-03-234-5/+5
|
* Replace `contract_child` to a less ad-hoc APIpcpthm2019-03-191-10/+10
|
* Error about attributes onpcpthm2019-03-191-12/+23
| | | | unallowed types of expression statement
* Allow attributes on top level expressionpcpthm2019-03-192-34/+53
| | | | | | A top level expression is either - a expression statement or - the last expression in a block
* Merge #991bors[bot]2019-03-185-68/+52
|\ | | | | | | | | | | | | | | | | | | | | | | 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 <[email protected]>
| * Use Marker argument for item parserspcpthm2019-03-185-68/+52
| | | | | | | | | | - Fix pub_expr - Fix incorrect parsing of crate::path
* | Merge #987bors[bot]2019-03-182-84/+70
|\| | | | | | | | | | | | | | | | | | | | | | | 987: Refactor maybe_item to use Marker argument r=pcpthm a=pcpthm As suggested at <https://github.com/rust-analyzer/rust-analyzer/pull/980#issuecomment-473659745>. For expression paring functions, changing signature - from `fn(&mut Parser) -> Option<CompletedMarker>` to `fn(&mut Parser, Marker) -> Result<CompletedMarker, Marker>` - from `fn(&mut Parser) -> CompletedMarker` to `fn(&mut Parser, Marker) -> CompletedMarker` is my plan. Co-authored-by: pcpthm <[email protected]>
| * Apply stylistic changes suggestedpcpthm2019-03-182-17/+14
| |
| * Refactor maybe_item to use Marker argumentpcpthm2019-03-172-86/+75
| |
* | Merge #983bors[bot]2019-03-171-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <[email protected]>
| * | support remainder assignment operatorJean Mertz2019-03-171-0/+1
| | |
* | | Fix parse tree of attribute on match armpcpthm2019-03-171-15/+15
| |/ |/|
* | Merge #985bors[bot]2019-03-171-57/+56
|\ \ | | | | | | | | | | | | | | | | | | | | | 985: simplify parsing blocks a bit r=pcpthm a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | simplify parsing blocks a bitAleksey Kladov2019-03-171-57/+56
| |/
* / Allow attribute on struct literal fieldpcpthm2019-03-171-1/+6
|/
* Allow MINUS at the start of a pattern.Michael Chesser2019-03-141-1/+1
|
* Add test for async blockCaio2019-03-101-1/+2
|
* Add async keywordCaio2019-03-092-1/+14
|
* Introduce pattern_list to parse pipe separated patternsVille Penttinen2019-03-052-10/+18
| | | | | pattern_list comes in two variants, one uses the default PAT_RECOVERY_SET as the recovery set, while other allows the user to provide a recovery set.
* Add support for parsing multiple if and while-let patternsVille Penttinen2019-03-041-0/+10
|
* allow `mut ident` patterns in trait methodsAleksey Kladov2019-03-041-1/+2
| | | | closes #928