diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2020-02-07 13:13:36 +0000 |
---|---|---|
committer | GitHub <[email protected]> | 2020-02-07 13:13:36 +0000 |
commit | 6d6a995e09c74a8b1075842fb3cd7232354389ae (patch) | |
tree | e445538d8619848896b69cfae6a80672b1faceb1 /crates/ra_parser/src/grammar/expressions | |
parent | 4d0d113c7d17483f3a6e0d09db7cc0cb5ed145c4 (diff) | |
parent | 90ff2be4e820601a1d16ba5716916f7424dfa10d (diff) |
Merge #3040
3040: Rework value parameter parsing r=matklad a=tobz1000
Fixes #2847.
- `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
__Question__: The pre-existing test `param_list_opt_patterns` has been kept as-is, although the name no longer makes sense (it's testing `Fn__(...)` params, which aren't allowed patterns any more). What would be best to do about this?
Co-authored-by: Toby Dimmick <[email protected]>
Diffstat (limited to 'crates/ra_parser/src/grammar/expressions')
-rw-r--r-- | crates/ra_parser/src/grammar/expressions/atom.rs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/crates/ra_parser/src/grammar/expressions/atom.rs b/crates/ra_parser/src/grammar/expressions/atom.rs index 2cc321473..f154077a8 100644 --- a/crates/ra_parser/src/grammar/expressions/atom.rs +++ b/crates/ra_parser/src/grammar/expressions/atom.rs | |||
@@ -229,7 +229,7 @@ fn lambda_expr(p: &mut Parser) -> CompletedMarker { | |||
229 | let m = p.start(); | 229 | let m = p.start(); |
230 | p.eat(T![async]); | 230 | p.eat(T![async]); |
231 | p.eat(T![move]); | 231 | p.eat(T![move]); |
232 | params::param_list_opt_types(p); | 232 | params::param_list_closure(p); |
233 | if opt_fn_ret_type(p) { | 233 | if opt_fn_ret_type(p) { |
234 | if !p.at(T!['{']) { | 234 | if !p.at(T!['{']) { |
235 | p.error("expected `{`"); | 235 | p.error("expected `{`"); |