summaryrefslogtreecommitdiff
path: root/crates/typst-syntax/src/parser.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/typst-syntax/src/parser.rs')
-rw-r--r--crates/typst-syntax/src/parser.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/crates/typst-syntax/src/parser.rs b/crates/typst-syntax/src/parser.rs
index ff01bacf..2cbce1d7 100644
--- a/crates/typst-syntax/src/parser.rs
+++ b/crates/typst-syntax/src/parser.rs
@@ -1102,13 +1102,17 @@ fn expr_with_paren(p: &mut Parser, atomic: bool) {
if p.at(SyntaxKind::Arrow) {
p.restore(checkpoint);
params(p);
- p.assert(SyntaxKind::Arrow);
+ if !p.expect(SyntaxKind::Arrow) {
+ return;
+ }
code_expr(p);
p.wrap(m, SyntaxKind::Closure);
} else if p.at(SyntaxKind::Eq) && kind != SyntaxKind::Parenthesized {
p.restore(checkpoint);
destructuring_or_parenthesized(p, true, &mut HashSet::new());
- p.assert(SyntaxKind::Eq);
+ if !p.expect(SyntaxKind::Eq) {
+ return;
+ }
code_expr(p);
p.wrap(m, SyntaxKind::DestructAssignment);
} else {