summaryrefslogtreecommitdiff
path: root/src/syntax
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2023-02-17 16:32:48 +0100
committerLaurenz <laurmaedje@gmail.com>2023-02-17 16:32:48 +0100
commit028632a3a10202ee21eaaf7ecf13ca7fe331106e (patch)
treeecba2b74b52b2c94b8ccf63dc8099d8ef608081c /src/syntax
parentdd5f07eb9110cc5e19dcb4441743a323128426fc (diff)
Fix error handling after hashtag
Diffstat (limited to 'src/syntax')
-rw-r--r--src/syntax/parser.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/syntax/parser.rs b/src/syntax/parser.rs
index cd318983..d966df98 100644
--- a/src/syntax/parser.rs
+++ b/src/syntax/parser.rs
@@ -521,7 +521,14 @@ fn embedded_code_expr(p: &mut Parser) {
| SyntaxKind::Include
);
+ let prev = p.prev_end();
code_expr_prec(p, true, 0);
+
+ // Consume error for things like `#12p` or `#"abc\"`.
+ if !p.progress(prev) {
+ p.unexpected();
+ }
+
let semi = p.eat_if(SyntaxKind::Semicolon);
if stmt && !semi && !p.eof() && !p.at(SyntaxKind::RightBracket) {
p.expected("semicolon or line break");