Skip to content

Commit 98f7cb2

Browse files
Pavel Belikovrmorozov
Pavel Belikov
authored andcommitted
Fix empty dict literal parsing
1 parent 4393211 commit 98f7cb2

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

src/expression_parser.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -370,7 +370,7 @@ ExpressionParser::ParseResult<ExpressionEvaluatorPtr<Expression>> ExpressionPars
370370
ExpressionEvaluatorPtr<Expression> result;
371371

372372
std::unordered_map<std::string, ExpressionEvaluatorPtr<Expression>> items;
373-
if (lexer.EatIfEqual(']'))
373+
if (lexer.EatIfEqual('}'))
374374
return std::make_shared<DictCreator>(std::move(items));
375375

376376
do

test/expressions_test.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,19 @@ rain
100100
};
101101
}
102102

103+
MULTISTR_TEST(ExpressionsMultiStrTest, EmptyDict,
104+
R"(
105+
{% set d = {} %}
106+
{{ d.asdf|default(42) }}
107+
)",
108+
//-----------
109+
R"(
110+
111+
42
112+
)")
113+
{
114+
}
115+
103116
TEST(ExpressionTest, DoStatement)
104117
{
105118
std::string source = R"(

0 commit comments

Comments
 (0)