From 7280d4c95a48419dcf7bfe5e47c0b8dcd95af4b9 Mon Sep 17 00:00:00 2001 From: Swastik Baranwal Date: Sun, 14 Aug 2022 12:13:54 +0530 Subject: [PATCH] checker: add error for `println('x').abcd` (#15423) --- vlib/v/checker/checker.v | 2 +- vlib/v/checker/tests/fn_selector_expr_err.out | 3 +++ vlib/v/checker/tests/fn_selector_expr_err.vv | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 vlib/v/checker/tests/fn_selector_expr_err.out create mode 100644 vlib/v/checker/tests/fn_selector_expr_err.vv diff --git a/vlib/v/checker/checker.v b/vlib/v/checker/checker.v index 765ac9d34..80b9bd92e 100644 --- a/vlib/v/checker/checker.v +++ b/vlib/v/checker/checker.v @@ -1129,7 +1129,7 @@ pub fn (mut c Checker) selector_expr(mut node ast.SelectorExpr) ast.Type { if typ == ast.void_type_idx { // This means that the field has an undefined type. // This error was handled before. - // c.error('`void` type has no fields', node.pos) + c.error('`$node.expr` does not return a value', node.pos) node.expr_type = ast.void_type return ast.void_type } diff --git a/vlib/v/checker/tests/fn_selector_expr_err.out b/vlib/v/checker/tests/fn_selector_expr_err.out new file mode 100644 index 000000000..71a66a1cf --- /dev/null +++ b/vlib/v/checker/tests/fn_selector_expr_err.out @@ -0,0 +1,3 @@ +vlib/v/checker/tests/fn_selector_expr_err.vv:1:26: error: `println('Hello, World!')` does not return a value + 1 | println('Hello, World!').whatever + | ~~~~~~~~ diff --git a/vlib/v/checker/tests/fn_selector_expr_err.vv b/vlib/v/checker/tests/fn_selector_expr_err.vv new file mode 100644 index 000000000..c7c7adb19 --- /dev/null +++ b/vlib/v/checker/tests/fn_selector_expr_err.vv @@ -0,0 +1 @@ +println('Hello, World!').whatever -- 2.39.5