aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/tests/data/parser/inline
Commit message (Collapse)AuthorAgeFilesLines
* Remove parse error on array initializer attributesRyan Cumming2019-06-302-65/+0
| | | | | This is actually allowed by the `rustc` parser but most attributes will fail later due to attributes on expressions being experimental.
* Support attributes on array membersRyan Cumming2019-06-306-0/+177
| | | | | | | | | | | | Array members are allow to have attributes such as `#[cfg]`. This is a bit tricky as we don't know if the first expression is an initializer or a member until we encounter a `;`. This reuses a trick from `stmt` where we remember if we saw an attribute and then raise an error if the first expression ends up being an initializer. This isn't perfect as the error isn't correctly located on the attribute or initializer; it ends up immediately after the `;`.
* fixed #1384zjy2019-06-282-0/+70
|
* Merge #1415bors[bot]2019-06-244-0/+121
|\ | | | | | | | | | | | | | | | | 1415: fix: specialization r=matklad a=csmoe Closes #1402 r? @matklad Co-authored-by: csmoe <[email protected]>
| * fix: specialization(with blindly parsing)csmoe2019-06-194-0/+121
| | | | | | | | Change-Id: Ic5d2767e8781568d76d4d0013cd6081e95ae8a95
* | fix: box_patterncsmoe2019-06-194-6/+67
| | | | | | | | Change-Id: I45a856d74fb616d3bce33050f9e69d327186bd59
* | fix: box_syntax(#1412)csmoe2019-06-181-0/+3
|/ | | | Change-Id: I6e20e0163fa545de37226c1561b3b7103615626c
* fix: support existential typecsmoe2019-06-123-2/+34
|
* fix: never type with bindingcsmoe2019-06-072-6/+38
| | | | Change-Id: I14e1bc628b9d2dfdb1f40de3d3707f4e872767f2
* [#1083] Try block syntax: fix testsAndrey Tkachenko2019-06-062-0/+34
|
* show error offsets in testsAleksey Kladov2019-05-2911-30/+30
|
* update test dataAleksey Kladov2019-05-2811-30/+30
|
* Add macro pat parsingEdwin Cheng2019-04-302-0/+39
|
* Refactor parser handle mult-char punct internallyEdwin Cheng2019-04-281-1/+2
|
* Add `...` parsing for fn pointer typeEdwin Cheng2019-04-232-1/+44
|
* Parse and infer tuple indicesrobojumper2019-04-064-6/+78
|
* Parse unsafe async / const unsafe fns properlyrobojumper2019-04-034-0/+78
|
* always show token textAleksey Kladov2019-04-02136-3929/+3929
|
* Async closure syntaxrobojumper2019-03-312-6/+53
|
* Add WherePred to allow predicate access in WhereClauseVille Penttinen2019-03-311-5/+8
| | | | | This also unifies parsing of WHERE_PRED bounds, now Lifetime bounds will also be parsed using TYPE_BOUND_LIST
* Update testsVille Penttinen2019-03-312-10/+54
|
* Update testsVille Penttinen2019-03-3015-176/+292
|
* Fix parsing <= in type_argsVille Penttinen2019-03-302-6/+27
|
* Support references in higher-ranked trait boundsVille Penttinen2019-03-242-1/+127
| | | | Fixes #1020
* Error about attributes onpcpthm2019-03-192-0/+59
| | | | unallowed types of expression statement
* Allow attributes on top level expressionpcpthm2019-03-194-0/+152
| | | | | | A top level expression is either - a expression statement or - the last expression in a block
* Merge #991bors[bot]2019-03-187-7/+85
|\ | | | | | | | | | | | | | | | | | | | | | | 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-187-7/+85
| | | | | | | | | | - Fix pub_expr - Fix incorrect parsing of crate::path
* | Fix parse tree of attribute on match armpcpthm2019-03-171-78/+78
|/
* Allow attribute on struct literal fieldpcpthm2019-03-172-0/+48
|
* Add test for async blockCaio2019-03-102-0/+32
|
* Add async keywordCaio2019-03-092-0/+17
|
* Add support for parsing multiple if and while-let patternsVille Penttinen2019-03-042-1/+164
|
* allow `mut ident` patterns in trait methodsAleksey Kladov2019-03-042-11/+26
| | | | closes #928
* allow aliases in underscoresAleksey Kladov2019-03-042-1/+17
| | | | | | | | this helps with use foo::Trait as _; syntax
* allow vararg functionsAleksey Kladov2019-03-042-0/+50
|
* rename type to type_alias in the AST as wellAleksey Kladov2019-02-2528-37/+37
|
* Enable parsing attributes for generic lifetimes and type parametersVille Penttinen2019-02-172-0/+63
|
* Enable parsing of attributes inside a match blockVille Penttinen2019-02-174-0/+229
| | | | | | | 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.
* make macro a NameOwnerAleksey Kladov2019-02-112-2/+4
|
* Fix handling of literal patternsFlorian Diebold2019-02-092-21/+31
| | | | | Wrap them in a LiteralPat node so they can be distinguished from literal expressions.
* Add AST for extern crateFlorian Diebold2019-02-041-1/+1
| | | | Also change it to parse the crate name as a NAME_REF, not a NAME.
* Merge #692bors[bot]2019-01-312-0/+43
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 692: [WIP] Correctly parse attributes r=matklad a=DJMcNab Reference - https://doc.rust-lang.org/reference/attributes.html This fixes/investigates inner attributes for: - [x] `impl` blocks - [x] `extern` blocks - [x] `fn`s (fixes #689) - [x] `mod`s (already supported) - [x] 'block expressions' (the long text just describes all 'blocks' used as statements) This also investigates/fixes outer attributes for: - [ ] 'most statements' (see also: #685, https://doc.rust-lang.org/reference/expressions.html#expression-attributes) - [x] Enum variants, Struct and Union fields (Fixed in #507) - [ ] 'Match expression arms' (@matklad can you provide a test case which explains what this means?) - [ ] 'Generic lifetime or type parameters' - [ ] 'Elements of array expressions, tuple expressions, call expressions, tuple-style struct and enum variant expressions' - [ ] 'The tail expression of block expressions' Co-authored-by: DJMcNab <[email protected]>
| * Correctly parse inner attributes of impl blocksDJMcNab2019-01-272-0/+43
| |
* | Infer type of match guardMarcus Klaas de Vries2019-01-283-40/+95
|/
* Merge #660bors[bot]2019-01-262-0/+45
|\ | | | | | | | | | | | | | | 660: Support macro calls in type position r=matklad a=regiontog A [playground](https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=fdc6dd4ddaece92a72fa2a292b75e27c) demonstrating the syntax in question. Co-authored-by: Erlend Tobiassen <[email protected]>
| * Support macro calls in type positionErlend Tobiassen2019-01-252-0/+45
| |
* | rename POS_FIELD -> POS_FIELD_DEFAleksey Kladov2019-01-253-10/+10
|/ | | | to match NAMED_FIELD_DEF
* Support universal function call syntax in function callsDJMcNab2019-01-242-6/+85
|
* Add test for placeholder parameters in trait fn defsErlend Tobiassen2019-01-222-0/+35
|