From b469eb9fa3b7b06a5b47a2d1203296fea8ef479a Mon Sep 17 00:00:00 2001 From: Alexander Medvednikov Date: Fri, 24 Apr 2026 03:25:46 +0300 Subject: [PATCH] all: super_batch8 fixes --- vlib/orm/orm_test.v | 14 ++++++++++---- vlib/v/builder/builder_test.v | 2 ++ vlib/v/fmt/fmt.v | 9 ++++++--- vlib/v/gen/c/cgen.v | 8 +++++++- vlib/v/pref/pref_test.v | 2 ++ vlib/v/tests/projects_that_should_compile_test.v | 2 ++ vlib/x/json2/tests/decode_embed_reference_test.v | 4 ++++ 7 files changed, 33 insertions(+), 8 deletions(-) diff --git a/vlib/orm/orm_test.v b/vlib/orm/orm_test.v index 0a47338c4..ce6267baa 100644 --- a/vlib/orm/orm_test.v +++ b/vlib/orm/orm_test.v @@ -116,10 +116,6 @@ fn test_orm_select_specific_fields() { mut db := sqlite.connect(':memory:') or { panic(err) } defer { db.close() or {} -fn test_orm_order_by_explicit_asc() { - mut db := sqlite.connect(':memory:')! - defer { - db.close() or { panic(err) } } sql db { @@ -157,6 +153,16 @@ fn test_orm_order_by_explicit_asc() { assert transformed.len == 1 assert transformed[0].name == 'ALICE' assert transformed[0].id == 0 +} + +fn test_orm_order_by_explicit_asc() { + mut db := sqlite.connect(':memory:')! + defer { + db.close() or { panic(err) } + } + + sql db { + create table User }! users := [ diff --git a/vlib/v/builder/builder_test.v b/vlib/v/builder/builder_test.v index 6b248d3bf..c322fbc7a 100644 --- a/vlib/v/builder/builder_test.v +++ b/vlib/v/builder/builder_test.v @@ -246,6 +246,8 @@ fn test_windows_host_c_compiler_probe_is_skipped_for_non_windows_targets() { backend: .js_browser os: .windows }) +} + fn test_message_limit_notices_do_not_fail_build() { os.chdir(test_path)! src_file := os.join_path(test_path, 'message_limit_notices.v') diff --git a/vlib/v/fmt/fmt.v b/vlib/v/fmt/fmt.v index 190877a1a..7780775f2 100644 --- a/vlib/v/fmt/fmt.v +++ b/vlib/v/fmt/fmt.v @@ -2629,9 +2629,12 @@ fn branch_is_single_line(b ast.IfBranch) bool { fn sql_query_data_item_is_single_line(item ast.SqlQueryDataItem) bool { return match item { - ast.SqlQueryDataLeaf { item.pos.line_nr == item.pos.last_line - && expr_is_single_line(item.expr) } - ast.SqlQueryDataIf { false } + ast.SqlQueryDataLeaf { + item.pos.line_nr == item.pos.last_line && expr_is_single_line(item.expr) + } + ast.SqlQueryDataIf { + false + } } } diff --git a/vlib/v/gen/c/cgen.v b/vlib/v/gen/c/cgen.v index e88ed2237..57b390096 100644 --- a/vlib/v/gen/c/cgen.v +++ b/vlib/v/gen/c/cgen.v @@ -7320,7 +7320,13 @@ fn (mut g Gen) write_scope_gc_pins(pos token.Pos) { if g.pref.gc_mode !in [.boehm_full, .boehm_incr, .boehm_full_opt, .boehm_incr_opt] { return } - scope := g.file.scope.innermost(pos.pos) + if g.fn_decl == unsafe { nil } || g.fn_decl.scope == unsafe { nil } { + return + } + if !g.fn_decl.scope.contains(pos.pos) { + return + } + scope := g.fn_decl.scope.innermost(pos.pos) if scope == unsafe { nil } { return } diff --git a/vlib/v/pref/pref_test.v b/vlib/v/pref/pref_test.v index 8fda8405e..64ee870c0 100644 --- a/vlib/v/pref/pref_test.v +++ b/vlib/v/pref/pref_test.v @@ -554,6 +554,8 @@ fn test_late_resolved_tcc_shared_builds_disable_backtraces() { assert 'no_backtrace' in shared_prefs.compile_defines_all assert shared_prefs.build_options.contains('-d no_backtrace') +} + fn test_wayland_only_linux_session_surfaces_a_v_error_for_gg() { if os.user_os() == 'windows' { return diff --git a/vlib/v/tests/projects_that_should_compile_test.v b/vlib/v/tests/projects_that_should_compile_test.v index d5f7137ff..6e13f6e41 100644 --- a/vlib/v/tests/projects_that_should_compile_test.v +++ b/vlib/v/tests/projects_that_should_compile_test.v @@ -332,6 +332,8 @@ fn test_usecache_build_module_sumtype_uses_canonical_type_id_helper() { generated_c := os.read_file(generated_c_path)! assert generated_c.contains('payload__Foo_to_sumtype_payload__Value(payload__Foo* x, bool is_mut)') assert generated_c.contains('._typ = _v_type_idx_payload__Foo()') +} + fn test_readline_raw_mode_methods_should_check_for_windows() { source_path := os.join_path(os.vtmp_dir(), 'readline_raw_mode_issue_24686_${os.getpid()}.v') source := [ diff --git a/vlib/x/json2/tests/decode_embed_reference_test.v b/vlib/x/json2/tests/decode_embed_reference_test.v index 08761751e..6250dfde0 100644 --- a/vlib/x/json2/tests/decode_embed_reference_test.v +++ b/vlib/x/json2/tests/decode_embed_reference_test.v @@ -21,6 +21,8 @@ struct Issue25614Node { mut: value int children []&Issue25614Node +} + struct OptionalPointerRegressionMessage { mut: id int @@ -79,6 +81,8 @@ fn test_decode_struct_with_array_of_references() { assert decoded.children[1] != unsafe { nil } assert decoded.children[0].value == 1 assert decoded.children[1].value == 2 +} + fn test_decode_optional_reference_field() { message := json2.decode[OptionalPointerRegressionMessage]('{"id":1,"text":"Hello","reply_to":{"id":2,"text":"Hi","reply_to":null}}')! -- 2.39.5