summaryrefslogtreecommitdiff
path: root/src/parse
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2021-09-15 13:12:07 +0200
committerLaurenz <laurmaedje@gmail.com>2021-09-15 13:12:07 +0200
commitea921aca5d6268474383b6bac8fdd78de1f23c5a (patch)
tree797aa10f026abab2c9bde6fef17026f83338dd11 /src/parse
parent5de791d9e6a1006dc6a017ec8e20a1c70a91a780 (diff)
Blocks directly in template also scope
Diffstat (limited to 'src/parse')
-rw-r--r--src/parse/mod.rs10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/parse/mod.rs b/src/parse/mod.rs
index 7451384b..ee18e697 100644
--- a/src/parse/mod.rs
+++ b/src/parse/mod.rs
@@ -125,7 +125,7 @@ fn markup_node(p: &mut Parser, at_start: &mut bool) -> Option<MarkupNode> {
}
// Block and template.
- Token::LeftBrace => return Some(MarkupNode::Expr(block(p, false))),
+ Token::LeftBrace => return Some(MarkupNode::Expr(block(p))),
Token::LeftBracket => return Some(MarkupNode::Expr(template(p))),
// Comments.
@@ -316,7 +316,7 @@ fn primary(p: &mut Parser, atomic: bool) -> Option<Expr> {
// Structures.
Some(Token::LeftParen) => parenthesized(p),
Some(Token::LeftBracket) => Some(template(p)),
- Some(Token::LeftBrace) => Some(block(p, true)),
+ Some(Token::LeftBrace) => Some(block(p)),
// Keywords.
Some(Token::Let) => let_expr(p),
@@ -527,7 +527,7 @@ fn template(p: &mut Parser) -> Expr {
}
/// Parse a code block: `{...}`.
-fn block(p: &mut Parser, scoping: bool) -> Expr {
+fn block(p: &mut Parser) -> Expr {
p.start_group(Group::Brace, TokenMode::Code);
let mut exprs = vec![];
while !p.eof() {
@@ -544,7 +544,7 @@ fn block(p: &mut Parser, scoping: bool) -> Expr {
p.eat_while(|t| matches!(t, Token::Space(_)));
}
let span = p.end_group();
- Expr::Block(Box::new(BlockExpr { span, exprs, scoping }))
+ Expr::Block(Box::new(BlockExpr { span, exprs }))
}
/// Parse a function call.
@@ -789,7 +789,7 @@ fn ident(p: &mut Parser) -> Option<Ident> {
fn body(p: &mut Parser) -> Option<Expr> {
match p.peek() {
Some(Token::LeftBracket) => Some(template(p)),
- Some(Token::LeftBrace) => Some(block(p, true)),
+ Some(Token::LeftBrace) => Some(block(p)),
_ => {
p.expected_at(p.prev_end(), "body");
None