summaryrefslogtreecommitdiff
path: root/src/syntax/parser.rs
diff options
context:
space:
mode:
authorMarmare314 <49279081+Marmare314@users.noreply.github.com>2023-04-11 18:44:17 +0200
committerGitHub <noreply@github.com>2023-04-11 18:44:17 +0200
commit72d8785abeff66f6b832725e71fe65d9ded803ce (patch)
tree5e9177d56e3fb34ac0888f76754a4061dacec04f /src/syntax/parser.rs
parent9984e73ff396b7da71bb19416f5ed15296d50d98 (diff)
fix parenthesized binding (#707)
Diffstat (limited to 'src/syntax/parser.rs')
-rw-r--r--src/syntax/parser.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/syntax/parser.rs b/src/syntax/parser.rs
index 16d519fe..42183f3a 100644
--- a/src/syntax/parser.rs
+++ b/src/syntax/parser.rs
@@ -847,11 +847,15 @@ fn pattern(p: &mut Parser) -> PatternKind {
let m = p.marker();
if p.at(SyntaxKind::LeftParen) {
- collection(p, false);
+ let kind = collection(p, false);
validate_destruct_pattern(p, m);
p.wrap(m, SyntaxKind::Pattern);
- PatternKind::Destructuring
+ if kind == SyntaxKind::Parenthesized {
+ PatternKind::Normal
+ } else {
+ PatternKind::Destructuring
+ }
} else {
if p.expect(SyntaxKind::Ident) {
p.wrap(m, SyntaxKind::Pattern);