From 131d07aedef75de98a8bfb2850400241b02bf369 Mon Sep 17 00:00:00 2001 From: yuyi Date: Sat, 5 Nov 2022 14:05:38 +0800 Subject: [PATCH] parser: fix embed file to_string() in if guard (#16334) --- vlib/v/embed_file/tests/a.txt | 1 + vlib/v/embed_file/tests/embed_file_to_string_test.v | 9 +++++++++ vlib/v/parser/parser.v | 2 +- 3 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 vlib/v/embed_file/tests/a.txt create mode 100644 vlib/v/embed_file/tests/embed_file_to_string_test.v diff --git a/vlib/v/embed_file/tests/a.txt b/vlib/v/embed_file/tests/a.txt new file mode 100644 index 000000000..9daeafb98 --- /dev/null +++ b/vlib/v/embed_file/tests/a.txt @@ -0,0 +1 @@ +test diff --git a/vlib/v/embed_file/tests/embed_file_to_string_test.v b/vlib/v/embed_file/tests/embed_file_to_string_test.v new file mode 100644 index 000000000..326c1f5b1 --- /dev/null +++ b/vlib/v/embed_file/tests/embed_file_to_string_test.v @@ -0,0 +1,9 @@ +fn test_embed_file_to_string() { + s := if true { + $embed_file('./a.txt').to_string() + } else { + '' + } + println(s) + assert s.trim_space() == 'test' +} diff --git a/vlib/v/parser/parser.v b/vlib/v/parser/parser.v index 19c067aa1..00e833758 100644 --- a/vlib/v/parser/parser.v +++ b/vlib/v/parser/parser.v @@ -1002,7 +1002,7 @@ pub fn (mut p Parser) stmt(is_top_level bool) ast.Stmt { } .name { mut pos := p.tok.pos() - expr := p.comptime_call() + expr := p.expr(0) pos.update_last_line(p.prev_tok.line_nr) return ast.ExprStmt{ expr: expr -- 2.39.5