diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2023-11-06 21:42:38 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-11-06 21:42:38 +0100 |
| commit | e550f0a8f726bf2696390e5f91df4c638888a990 (patch) | |
| tree | 3c66ad971a984ac335e7f6e0f0f277f2558ead28 | |
| parent | c0f6d2004afebfa9412ba0c2d598ef8287197c42 (diff) | |
Prevent silent swallowing of return expressions trailing arguments (#2545)
Fixes #2104
| -rw-r--r-- | crates/typst-syntax/src/parser.rs | 1 | ||||
| -rw-r--r-- | tests/typ/compiler/return.typ | 7 |
2 files changed, 8 insertions, 0 deletions
diff --git a/crates/typst-syntax/src/parser.rs b/crates/typst-syntax/src/parser.rs index 56fe3c9b..f1c798c6 100644 --- a/crates/typst-syntax/src/parser.rs +++ b/crates/typst-syntax/src/parser.rs @@ -605,6 +605,7 @@ fn embedded_code_expr(p: &mut Parser) { | SyntaxKind::Show | SyntaxKind::Import | SyntaxKind::Include + | SyntaxKind::Return ); let prev = p.prev_end(); diff --git a/tests/typ/compiler/return.typ b/tests/typ/compiler/return.typ index 779a56dd..e709d6a7 100644 --- a/tests/typ/compiler/return.typ +++ b/tests/typ/compiler/return.typ @@ -80,3 +80,10 @@ ] #test(f(), "nope") + +--- +// Test rejection of extra value +#let f() = [ + // Error: 16-16 expected semicolon or line break + #return a + b Hello World +] |
