aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge #1038bors[bot]2019-03-315-8/+132
|\ | | | | | | | | | | | | | | 1038: Add WherePred to allow predicate access in WhereClause r=matklad a=vipentti Lifetime bounds in where predicates are now also parsed into `TYPE_BOUND_LIST` to allow unified access to bounds. Co-authored-by: Ville Penttinen <[email protected]>
| * Add WherePred to allow predicate access in WhereClauseVille Penttinen2019-03-315-8/+132
|/ | | | | This also unifies parsing of WHERE_PRED bounds, now Lifetime bounds will also be parsed using TYPE_BOUND_LIST
* Merge #1072bors[bot]2019-03-314-3/+43
|\ | | | | | | | | | | | | | | 1072: recognize async move blocks r=matklad a=memoryruins closes #1053 Co-authored-by: memoryruins <[email protected]>
| * add test for async blocksmemoryruins2019-03-282-0/+40
| |
| * recognize async movememoryruins2019-03-282-3/+3
| |
* | Merge #1077bors[bot]2019-03-3133-507/+916
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1077: Improve parsing of type bounds r=matklad a=vipentti This adds new TYPE_BOUND_LIST and TYPE_BOUND syntax kinds. 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 +. Basically now the generic params `struct S<T: 'a + ?Sized + (Copy)>;` in will be parsed as ``` TYPE_PARAM_LIST@[8; 33) L_ANGLE@[8; 9) TYPE_PARAM@[9; 32) NAME@[9; 10) IDENT@[9; 10) "T" COLON@[10; 11) WHITESPACE@[11; 12) TYPE_BOUND_LIST@[12; 32) TYPE_BOUND@[12; 14) LIFETIME@[12; 14) "'a" WHITESPACE@[14; 15) PLUS@[15; 16) WHITESPACE@[16; 17) TYPE_BOUND@[17; 23) QUESTION@[17; 18) PATH_TYPE@[18; 23) PATH@[18; 23) PATH_SEGMENT@[18; 23) NAME_REF@[18; 23) IDENT@[18; 23) "Sized" WHITESPACE@[23; 24) PLUS@[24; 25) WHITESPACE@[25; 26) TYPE_BOUND@[26; 32) L_PAREN@[26; 27) PATH_TYPE@[27; 31) PATH@[27; 31) PATH_SEGMENT@[27; 31) NAME_REF@[27; 31) IDENT@[27; 31) "Copy" R_PAREN@[31; 32) R_ANGLE@[32; 33) ``` Previously it was parsed, with the paths nested: ``` TYPE_PARAM_LIST@[8; 33) L_ANGLE@[8; 9) TYPE_PARAM@[9; 32) NAME@[9; 10) IDENT@[9; 10) "T" COLON@[10; 11) WHITESPACE@[11; 12) LIFETIME@[12; 14) "'a" WHITESPACE@[14; 15) PLUS@[15; 16) WHITESPACE@[16; 17) QUESTION@[17; 18) PATH_TYPE@[18; 32) PATH@[18; 23) PATH_SEGMENT@[18; 23) NAME_REF@[18; 23) IDENT@[18; 23) "Sized" WHITESPACE@[23; 24) PLUS@[24; 25) WHITESPACE@[25; 26) L_PAREN@[26; 27) PATH_TYPE@[27; 31) PATH@[27; 31) PATH_SEGMENT@[27; 31) NAME_REF@[27; 31) IDENT@[27; 31) "Copy" R_PAREN@[31; 32) R_ANGLE@[32; 33) ``` Looking for feedback. Co-authored-by: Ville Penttinen <[email protected]>
| * | Add trait ast::TypeBoundsOwnerVille Penttinen2019-03-313-5/+21
| | |
| * | Update testsVille Penttinen2019-03-313-67/+115
| | |
| * | 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
| | |
| * | Update testsVille Penttinen2019-03-3025-418/+634
| | |
| * | Add new TYPE_BOUND_LIST and TYPE_BOUND syntax kindsVille Penttinen2019-03-305-2/+95
| | | | | | | | | | | | | | | | | | 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 +.
* | | kill ra.el: it is superseeded by the lsp integraionAleksey Kladov2019-03-301-128/+0
|/ /
* | Merge #1075bors[bot]2019-03-304-6/+29
|\ \ | | | | | | | | | | | | | | | | | | | | | 1075: Fix parsing <= in type_args r=matklad a=vipentti Fixes #1074 Co-authored-by: Ville Penttinen <[email protected]>
| * | Fix parsing <= in type_argsVille Penttinen2019-03-304-6/+29
|/ /
* / fix typoAleksey Kladov2019-03-291-1/+1
|/
* Merge #1071bors[bot]2019-03-281-1/+1
|\ | | | | | | | | | | | | | | 1071: Fix emacs-lsp runnables support with native json r=matklad a=flodiebold (In that case args is a vector, which string-join doesn't like.) Co-authored-by: Florian Diebold <[email protected]>
| * Fix emacs-lsp runnables support with native jsonFlorian Diebold2019-03-281-1/+1
|/ | | | (In that case args is a vector, which string-join doesn't like.)
* Merge #1070bors[bot]2019-03-283-1/+21
|\ | | | | | | | | | | | | | | 1070: Support extern_crate_self r=matklad a=memoryruins closes #1069 Co-authored-by: memoryruins <[email protected]>
| * Add tests to ra_syntax for extern_crate_selfmemoryruins2019-03-282-1/+17
| |
| * Add extern_crate_self to ra_parser.memoryruins2019-03-281-0/+4
|/
* Merge #1066bors[bot]2019-03-272-7/+7
|\ | | | | | | | | | | | | | | 1066: update salsa some more r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * update salsa some moreAleksey Kladov2019-03-272-7/+7
|/
* Merge #1063bors[bot]2019-03-272-7/+7
|\ | | | | | | | | | | | | | | 1063: :arrow_up: salsa r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * :arrow_up: salsaAleksey Kladov2019-03-272-7/+7
|/
* Merge #1061bors[bot]2019-03-271-1/+5
|\ | | | | | | | | | | | | | | | | | | 1061: Use EXE extension for pre-commit hook on Window r=matklad a=hban Tested on Git Bash, CMD and Powershell. Closes: #875 Co-authored-by: Hrvoje Ban <[email protected]>
| * Use EXE extension for pre-commit hook on WindowHrvoje Ban2019-03-271-1/+5
|/
* Merge #1052bors[bot]2019-03-273-88/+143
|\ | | | | | | | | | | | | | | | | | | | | | | | | 1052: Flip binary expression assist r=matklad a=marcogroppo Adds an assist that can flip these binary comparison operators: `==`, `!=`, `>`, `>=`, `<`, `<=`. This is a small extension to the 'flip ==' assist. In theory we could easily flip ANY binary expression, but I'm not sure it would be a good idea (IMHO we should try not to change the meaning of the expression). Does it make sense? Co-authored-by: Marco Groppo <[email protected]>
| * Flip any binary expression except assignments.Marco Groppo2019-03-261-64/+56
| |
| * Merge branch 'master' of github.com:rust-analyzer/rust-analyzer into ↵Marco Groppo2019-03-2628-817/+1017
| |\ | |/ |/| | | flip-binexpr
* | Merge #1060bors[bot]2019-03-261-5/+22
|\ \ | | | | | | | | | | | | | | | | | | | | | 1060: more realistic test for incrementality r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | more realistic test for incrementalityAleksey Kladov2019-03-261-5/+22
|/ /
* | Merge #1059bors[bot]2019-03-2611-209/+233
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1059: Typed ids r=matklad a=matklad just some type-safety and refactorings. closes https://github.com/rust-analyzer/rust-analyzer/issues/1054 bors r+ Co-authored-by: Aleksey Kladov <[email protected]>
| * | reduce visibilityAleksey Kladov2019-03-262-12/+12
| | |
| * | renameAleksey Kladov2019-03-267-56/+44
| | |
| * | simplifyAleksey Kladov2019-03-263-21/+21
| | |
| * | make stuff privateAleksey Kladov2019-03-261-26/+14
| | |
| * | more type safetyAleksey Kladov2019-03-265-63/+82
| | |
| * | strongy-typed ids for macrosAleksey Kladov2019-03-264-33/+19
| | |
| * | add typed idsAleksey Kladov2019-03-267-45/+88
| | |
* | | Merge #1051bors[bot]2019-03-265-378/+391
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 1051: Move ra_ide_api unit tests r=matklad a=detrumi Closes #1048 Co-authored-by: Wilco Kusee <[email protected]>
| * | Move ra_ide_api unit testsWilco Kusee2019-03-255-378/+391
| | |
* | | Merge #1058bors[bot]2019-03-261-17/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1058: remove some dead code r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | | remove some dead codeAleksey Kladov2019-03-261-17/+1
|/ / /
* | | add links to readmeAleksey Kladov2019-03-261-0/+6
| | |
* | | Merge #1057bors[bot]2019-03-268-125/+131
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1057: simplify r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | | simplifyAleksey Kladov2019-03-263-8/+6
| | | |
| * | | move source_id to a separate fileAleksey Kladov2019-03-268-120/+128
|/ / /
* | | Merge #1055bors[bot]2019-03-268-144/+105
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1055: store macro def inside macro id r=matklad a=matklad This makes macro expansion resilient to changes to code inside the macro Co-authored-by: Aleksey Kladov <[email protected]>
| * | | make macro parsing a queryAleksey Kladov2019-03-263-5/+8
| | | |