From 56e61c291d14aa83e2a8a3d362011bbe61149957 Mon Sep 17 00:00:00 2001 From: Alexander Medvednikov Date: Tue, 26 May 2026 01:05:14 +0300 Subject: [PATCH] all: vfmt --- cmd/tools/modules/testing/common.v | 18 ++++++------- vlib/v/checker/containers.v | 3 +-- vlib/v/gen/c/array.v | 3 ++- vlib/v/gen/c/cgen.v | 12 +++------ .../array_init_with_spread_test.v | 7 +++-- .../v/tests/option_result_alias_fn_ret_test.v | 16 +++++++----- .../nested_or_block_with_void_result_test.v | 12 ++++----- vlib/v2/parser/parser.v | 1 + vlib/v2/transformer/struct.v | 18 ++++++++++--- vlib/v2/transformer/transformer_test.v | 26 +++++++++++++------ vlib/x/json2/decode.v | 14 +++++----- 11 files changed, 73 insertions(+), 57 deletions(-) diff --git a/cmd/tools/modules/testing/common.v b/cmd/tools/modules/testing/common.v index f014cf9b9..063c1ac6d 100644 --- a/cmd/tools/modules/testing/common.v +++ b/cmd/tools/modules/testing/common.v @@ -598,8 +598,7 @@ fn worker_trunner(mut p pool.PoolProcessor, idx int, thread_id int) voidptr { } if !os.is_executable(v2_bin) { ts.append_message(.info, 'SKIP ${relative_file}: v2 binary not built. Run: ${os.quoted_path(ts.vexe)} -o ${os.quoted_path(v2_bin)} ${os.quoted_path(os.join_path(ts.vroot, - 'cmd', 'v2', 'v2.v'))}', - mtc) + 'cmd', 'v2', 'v2.v'))}', mtc) ts.benchmark.skip() tls_bench.skip() return pool.no_result @@ -949,14 +948,13 @@ pub fn h_divider() { // flag, so this is used when forwarding `v test` options to v2 for // `_test.vv2` files. Keep these lists in sync with v2's pref validator. fn filter_args_for_v2(compile_options []string) string { - v2_value_flags := ['-backend', '-b', '-o', '-output', '-arch', '-printfn', '-gc', - '-d', '-hot-fn', '-cc'] - v2_bool_flags := ['--debug', '--verbose', '-v', '--skip-genv', '--skip-builtin', - '--skip-imports', '--skip-type-check', '--no-parallel', '-nocache', '--nocache', - '-nomarkused', '--nomarkused', '-showcc', '--showcc', '-stats', '--stats', - '-print-parsed-files', '--print-parsed-files', '-keepc', '--profile-alloc', - '-profile-alloc', '-enable-globals', '--enable-globals', '-shared', '--shared', - '-O0', '--single-backend', '-single-backend', '-prod', '-prealloc', + v2_value_flags := ['-backend', '-b', '-o', '-output', '-arch', '-printfn', '-gc', '-d', '-hot-fn', + '-cc'] + v2_bool_flags := ['--debug', '--verbose', '-v', '--skip-genv', '--skip-builtin', '--skip-imports', + '--skip-type-check', '--no-parallel', '-nocache', '--nocache', '-nomarkused', '--nomarkused', + '-showcc', '--showcc', '-stats', '--stats', '-print-parsed-files', '--print-parsed-files', + '-keepc', '--profile-alloc', '-profile-alloc', '-enable-globals', '--enable-globals', + '-shared', '--shared', '-O0', '--single-backend', '-single-backend', '-prod', '-prealloc', '-ownership'] tokens := vflags.tokenize_to_args(compile_options.join(' ')) mut out := []string{} diff --git a/vlib/v/checker/containers.v b/vlib/v/checker/containers.v index c052835bc..983caadd6 100644 --- a/vlib/v/checker/containers.v +++ b/vlib/v/checker/containers.v @@ -430,8 +430,7 @@ fn (mut c Checker) array_init(mut node ast.ArrayInit) ast.Type { if expr is ast.CallExpr { ret_sym := c.table.sym(typ) if ret_sym.kind == .array_fixed { - node.expr_types[node.expr_types.len - 1] = c.cast_fixed_array_ret(typ, - ret_sym) + node.expr_types[node.expr_types.len - 1] = c.cast_fixed_array_ret(typ, ret_sym) } node.has_callexpr = true } diff --git a/vlib/v/gen/c/array.v b/vlib/v/gen/c/array.v index 595ea4782..c51a5a1e8 100644 --- a/vlib/v/gen/c/array.v +++ b/vlib/v/gen/c/array.v @@ -202,7 +202,8 @@ fn (mut g Gen) array_init(node ast.ArrayInit, var_name string) { if len == 0 { g.write('((${elem_styp}*)0))') } else { - prepared_exprs := g.prepare_array_init_exprs(node.exprs, expr_types, resolved_elem_type.typ) + prepared_exprs := g.prepare_array_init_exprs(node.exprs, expr_types, + resolved_elem_type.typ) g.write('_MOV((${elem_styp}[${len}]){') for i, expr in prepared_exprs { actual_expr := array_init_orig_expr(expr) diff --git a/vlib/v/gen/c/cgen.v b/vlib/v/gen/c/cgen.v index d8a539160..1c215441a 100644 --- a/vlib/v/gen/c/cgen.v +++ b/vlib/v/gen/c/cgen.v @@ -10708,11 +10708,9 @@ fn (mut g Gen) return_stmt(node ast.Return) { } else { g.expr_with_opt(expr0, type0, ret_type) } - } else if ret_type.has_flag(.result) && type0.has_flag(.result) - && type0 != ret_type + } else if ret_type.has_flag(.result) && type0.has_flag(.result) && type0 != ret_type && unwrap_paren_call_expr(expr0) is ast.CallExpr - && g.table.are_payloads_alias_compatible(type0.clear_flag(.result), - ret_type.clear_flag(.result)) { + && g.table.are_payloads_alias_compatible(type0.clear_flag(.result), ret_type.clear_flag(.result)) { // return foo() (or `return (foo())`) where foo() returns a different // but layout-equivalent result alias (e.g. `!Aa` vs `!Bb` with // `type Aa = Bb`, or `![]Aa` vs `![]Bb`). The two C structs are @@ -11949,8 +11947,7 @@ fn (mut g Gen) or_block_on_value(var_name string, or_block ast.OrExpr, return_ty // consumed the option/result via its own or-block; the effective // value of the last expression is void, so do not try to write // `*(T*) tmp.data = ` (see issue #27012). - if last_expr_stmt.expr is ast.CallExpr - && last_expr_stmt.expr.or_block.kind != .absent + if last_expr_stmt.expr is ast.CallExpr && last_expr_stmt.expr.or_block.kind != .absent && last_expr_typ.clear_option_and_result() == ast.void_type { last_expr_typ = ast.void_type } @@ -12067,8 +12064,7 @@ fn (mut g Gen) or_block(var_name string, or_block ast.OrExpr, return_type ast.Ty // consumed the option/result via its own or-block; the effective // value of the last expression is void, so do not try to write // `*(T*) tmp.data = ` (see issue #27012). - if last_expr_stmt.expr is ast.CallExpr - && last_expr_stmt.expr.or_block.kind != .absent + if last_expr_stmt.expr is ast.CallExpr && last_expr_stmt.expr.or_block.kind != .absent && last_expr_typ.clear_option_and_result() == ast.void_type { last_expr_typ = ast.void_type } diff --git a/vlib/v/tests/builtin_arrays/array_init_with_spread_test.v b/vlib/v/tests/builtin_arrays/array_init_with_spread_test.v index b8e946ab7..1d6190655 100644 --- a/vlib/v/tests/builtin_arrays/array_init_with_spread_test.v +++ b/vlib/v/tests/builtin_arrays/array_init_with_spread_test.v @@ -1,6 +1,6 @@ const base_array = [ - 1 - 2 + 1, + 2, ] const base_strings = ['a', 'b'] @@ -13,8 +13,7 @@ struct Point { const base_points = [Point{1, 2}, Point{3, 4}] fn test_array_init_with_spread() { - complete := [ - ...base_array, + complete := [...base_array, 3, 4, ] diff --git a/vlib/v/tests/option_result_alias_fn_ret_test.v b/vlib/v/tests/option_result_alias_fn_ret_test.v index aa8a83ccd..78016f235 100644 --- a/vlib/v/tests/option_result_alias_fn_ret_test.v +++ b/vlib/v/tests/option_result_alias_fn_ret_test.v @@ -11,19 +11,23 @@ struct Bb { type Aa = Bb fn returns_b_option() ?Bb { - return Bb{s: 'b'} + return Bb{ + s: 'b' + } } fn returns_b_result() !Bb { - return Bb{s: 'b'} + return Bb{ + s: 'b' + } } fn returns_bs_option() ?[]Bb { - return [Bb{s: 'b'}] + return [Bb{ s: 'b' }] } fn returns_bs_result() ![]Bb { - return [Bb{s: 'b'}] + return [Bb{ s: 'b' }] } fn case_a() !Aa { @@ -43,11 +47,11 @@ fn case_d() ![]Aa { } fn case_e() !Aa { - return (returns_b_result()) + return returns_b_result() } fn case_f() ?Aa { - return (returns_b_option()) + return returns_b_option() } fn test_result_alias_direct() { diff --git a/vlib/v/tests/options/nested_or_block_with_void_result_test.v b/vlib/v/tests/options/nested_or_block_with_void_result_test.v index fde2e3879..47a21795a 100644 --- a/vlib/v/tests/options/nested_or_block_with_void_result_test.v +++ b/vlib/v/tests/options/nested_or_block_with_void_result_test.v @@ -8,7 +8,9 @@ struct Item { } fn get_item() !Item { - return Item{id: 1} + return Item{ + id: 1 + } } fn get_item_err() !Item { @@ -23,9 +25,7 @@ fn test_nested_or_block_with_void_result_inner_succeeds() { mut traces := []string{} get_item() or { traces << 'outer: ${err}' - do_void() or { - traces << 'inner: ${err}' - } + do_void() or { traces << 'inner: ${err}' } } // Outer call succeeded -> or-block is never entered. assert traces.len == 0 @@ -35,9 +35,7 @@ fn test_nested_or_block_with_void_result_outer_errors() { mut traces := []string{} get_item_err() or { traces << 'outer: ${err}' - do_void() or { - traces << 'inner: ${err}' - } + do_void() or { traces << 'inner: ${err}' } } assert traces.len == 2 assert traces[0] == 'outer: outer' diff --git a/vlib/v2/parser/parser.v b/vlib/v2/parser/parser.v index a24ebee15..0adc676fc 100644 --- a/vlib/v2/parser/parser.v +++ b/vlib/v2/parser/parser.v @@ -3683,6 +3683,7 @@ fn (p &Parser) eval_comptime_cond(cond ast.Expr) bool { } else {} } + return false } diff --git a/vlib/v2/transformer/struct.v b/vlib/v2/transformer/struct.v index d560e9d24..62f464dcb 100644 --- a/vlib/v2/transformer/struct.v +++ b/vlib/v2/transformer/struct.v @@ -403,9 +403,21 @@ fn (mut t Transformer) transform_array_init_expr(expr ast.ArrayInitExpr) ast.Exp return ast.ArrayInitExpr{ typ: array_typ exprs: exprs - init: if expr.init !is ast.EmptyExpr { t.transform_expr(expr.init) } else { expr.init } - cap: if expr.cap !is ast.EmptyExpr { t.transform_expr(expr.cap) } else { expr.cap } - len: if expr.len !is ast.EmptyExpr { t.transform_expr(expr.len) } else { expr.len } + init: if expr.init !is ast.EmptyExpr { + t.transform_expr(expr.init) + } else { + expr.init + } + cap: if expr.cap !is ast.EmptyExpr { + t.transform_expr(expr.cap) + } else { + expr.cap + } + len: if expr.len !is ast.EmptyExpr { + t.transform_expr(expr.len) + } else { + expr.len + } update_expr: if expr.update_expr !is ast.EmptyExpr { t.transform_expr(expr.update_expr) } else { diff --git a/vlib/v2/transformer/transformer_test.v b/vlib/v2/transformer/transformer_test.v index 7db75624e..d1f9b6a9c 100644 --- a/vlib/v2/transformer/transformer_test.v +++ b/vlib/v2/transformer/transformer_test.v @@ -6556,7 +6556,9 @@ $if my_feature ? { } always_present int } -', ['my_feature']) +', [ + 'my_feature', + ]) assert files.len == 1 assert struct_field_names(files[0], 'Container') == ['feature_val', 'always_present'] } @@ -6589,7 +6591,9 @@ $if feat_a ? { tag string = "default" } } -', ['feat_b']) +', [ + 'feat_b', + ]) assert files.len == 1 names := struct_field_names(files[0], 'Container') assert names == ['tag'] @@ -6616,7 +6620,9 @@ struct Container { name string debug_only int @[if present_flag ?] } -', ['present_flag']) +', [ + 'present_flag', + ]) assert files.len == 1 assert struct_field_names(files[0], 'Container') == ['name', 'debug_only'] } @@ -6658,7 +6664,9 @@ $else } always int } -', ['my_feature']) +', [ + 'my_feature', + ]) assert files.len == 1 assert struct_field_names(files[0], 'Container') == ['val', 'always'] } @@ -6679,7 +6687,9 @@ $else { tag string = "default" } } -', ['feat_b']) +', [ + 'feat_b', + ]) assert files.len == 1 assert struct_field_names(files[0], 'Container') == ['tag'] } @@ -6703,8 +6713,8 @@ $if new_int ? { } always int } -', .x64, []) +', + .x64, []) assert files.len == 1 - assert struct_field_names(files[0], 'Container') == ['tinyc_field', 'write_field', - 'always'] + assert struct_field_names(files[0], 'Container') == ['tinyc_field', 'write_field', 'always'] } diff --git a/vlib/x/json2/decode.v b/vlib/x/json2/decode.v index 70913febf..5e3af6edb 100644 --- a/vlib/x/json2/decode.v +++ b/vlib/x/json2/decode.v @@ -566,8 +566,7 @@ fn decode_struct_key[T](mut decoder Decoder, val T, key_info ValueInfo, prefix s } } } $else $if field.unaliased_typ is $array_dynamic { - if decoder.current_node.value.value_kind == .null - && !field_info.is_required { + if decoder.current_node.value.value_kind == .null && !field_info.is_required { new_val.$(field.name).clear() decoder.skip_current_value() } else { @@ -575,8 +574,7 @@ fn decode_struct_key[T](mut decoder Decoder, val T, key_info ValueInfo, prefix s decoder.decode_array(mut new_val.$(field.name))! } } $else $if field.unaliased_typ is $map { - if decoder.current_node.value.value_kind == .null - && !field_info.is_required { + if decoder.current_node.value.value_kind == .null && !field_info.is_required { new_val.$(field.name).clear() decoder.skip_current_value() } else { @@ -585,8 +583,8 @@ fn decode_struct_key[T](mut decoder Decoder, val T, key_info ValueInfo, prefix s } $else $if field.unaliased_typ is string { value_info := decoder.current_node.value if value_info.value_kind == .object || value_info.value_kind == .array { - new_val.$(field.name) = decoder.json[value_info.position..value_info.position + - value_info.length] + new_val.$(field.name) = decoder.json[value_info.position.. + value_info.position + value_info.length] decoder.skip_current_value() } else if value_info.value_kind == .null && !field_info.is_required { new_val.$(field.name) = '' @@ -961,8 +959,8 @@ fn (mut decoder Decoder) decode_value[T](mut val T) ! { value_info := decoder.current_node.value if value_info.value_kind == .object || value_info.value_kind == .array { - val.$(field.name) = decoder.json[value_info.position..value_info.position + - value_info.length] + val.$(field.name) = decoder.json[value_info.position.. + value_info.position + value_info.length] decoder.skip_current_value() } else if value_info.value_kind == .null && !field_info.is_required { -- 2.39.5