aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge #1082bors[bot]2019-04-013-0/+96
|\ | | | | | | | | | | | | | | 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-013-0/+96
| |
* | Merge #1067bors[bot]2019-04-011-6/+28
|\ \ | | | | | | | | | | | | | | | | | | | | | 1067: Take number of arguments at the call-site into account for signature help r=matklad a=kjeremy Fixes #1065 Co-authored-by: kjeremy <[email protected]>
| * | Simplifykjeremy2019-03-271-13/+14
| | |
| * | Take number of arguments at the call-site into account for signature helpkjeremy2019-03-271-1/+22
| | | | | | | | | | | | Fixes #1065
* | | Merge #1081bors[bot]2019-04-014-9/+66
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | 1081: Async closure syntax r=matklad a=robojumper Fixes #1080. Also fixes an error introduced by #1072 where something like `async move "foo"` in expression position would trigger the assertion in `block_expr`. Co-authored-by: robojumper <[email protected]>
| * | Async closure syntaxrobojumper2019-03-314-9/+66
| | |
* | | Merge #1078bors[bot]2019-04-0150-1228/+1027
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 1078: rewrite syntax trees r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | switch to new rowanAleksey Kladov2019-04-0150-1228/+1027
|/ /
* | 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]>