From a132345e0845ed41f427b75c9dcc3cbe48f2d5a1 Mon Sep 17 00:00:00 2001 From: Turiiya <34311583+ttytm@users.noreply.github.com> Date: Mon, 23 Oct 2023 08:54:08 +0200 Subject: [PATCH] parser: fix vet `bad top level statement` error for one file programs (#19613) --- cmd/tools/vvet/tests/prog_without_main_fn.out | 1 + cmd/tools/vvet/tests/prog_without_main_fn.vv | 3 +++ vlib/v/parser/parser.v | 2 +- 3 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 cmd/tools/vvet/tests/prog_without_main_fn.out create mode 100644 cmd/tools/vvet/tests/prog_without_main_fn.vv diff --git a/cmd/tools/vvet/tests/prog_without_main_fn.out b/cmd/tools/vvet/tests/prog_without_main_fn.out new file mode 100644 index 000000000..8099390f2 --- /dev/null +++ b/cmd/tools/vvet/tests/prog_without_main_fn.out @@ -0,0 +1 @@ +cmd/tools/vvet/tests/prog_without_main_fn.vv:1: notice: use a fixed array, instead of a dynamic one diff --git a/cmd/tools/vvet/tests/prog_without_main_fn.vv b/cmd/tools/vvet/tests/prog_without_main_fn.vv new file mode 100644 index 000000000..a264bbbc4 --- /dev/null +++ b/cmd/tools/vvet/tests/prog_without_main_fn.vv @@ -0,0 +1,3 @@ +const x = [1, 2, 3] + +println(x) diff --git a/vlib/v/parser/parser.v b/vlib/v/parser/parser.v index bf94ac1a8..046b76c72 100644 --- a/vlib/v/parser/parser.v +++ b/vlib/v/parser/parser.v @@ -873,7 +873,7 @@ fn (mut p Parser) other_stmts(cur_stmt ast.Stmt) ast.Stmt { scope: p.scope label_names: p.label_names } - } else if p.pref.is_fmt { + } else if p.pref.is_fmt || p.pref.is_vet { return p.stmt(false) } else { return p.error('bad top level statement ' + p.tok.str()) -- 2.39.5