Skip to content

Commit 93aadd5

Browse files
committed
all: fix tests
1 parent 82292bd commit 93aadd5

5 files changed

Lines changed: 21 additions & 7 deletions

File tree

‎vlib/v/gen/c/fn.v‎

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4267,7 +4267,22 @@ fn (mut g Gen) method_call(node ast.CallExpr) {
42674267
g.expr(ast.Expr(node.left))
42684268
g.write('}[0]')
42694269
} else if !is_interface && node.from_embed_types.len > 0 {
4270-
n_ptr := node.left_type.nr_muls() - 1
4270+
// For mut generic params where the concrete type resolves
4271+
// to a multi-pointer (e.g. mut ctx X where X = &Context →
4272+
// C param is Context**), fn_decl_params adds .ref() which
4273+
// adds an extra pointer level not reflected in left_type.
4274+
mut extra_muls := 0
4275+
if node.left is ast.Ident && node.left.obj is ast.Var {
4276+
obj := node.left.obj
4277+
if obj.is_auto_deref && obj.is_arg && obj.generic_typ != 0 {
4278+
resolved := g.unwrap_generic(obj.generic_typ)
4279+
if resolved.nr_muls() > 1
4280+
&& g.table.sym(resolved).kind == .struct {
4281+
extra_muls = 1
4282+
}
4283+
}
4284+
}
4285+
n_ptr := node.left_type.nr_muls() - 1 + extra_muls
42714286
if n_ptr > 0 {
42724287
g.write2('(', '*'.repeat(n_ptr))
42734288
g.expr(ast.Expr(node.left))

‎vlib/v/generics/new_generics_regression_test.v‎

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,8 @@ fn run_new_generic_solver_tests(root_label string, test_cmd string, expected_sum
9797
println('')
9898
}
9999

100-
const expected_summsvc_generics = 'Summary for all V _test.v files: 108 failed, 166 passed, 274 total.'
101-
const expected_summary_generics = 'Summary for all V _test.v files: 106 failed, 168 passed, 274 total.'
100+
const expected_summsvc_generics = 'Summary for all V _test.v files: 104 failed, 170 passed, 274 total.'
101+
const expected_summary_generics = 'Summary for all V _test.v files: 102 failed, 172 passed, 274 total.'
102102
const expected_summsvc_vec = 'Summary for all V _test.v files: 3 failed, 3 total.'
103103
const expected_summary_vec = 'Summary for all V _test.v files: 3 failed, 3 total.'
104104
const expected_summsvc_flag = 'Summary for all V _test.v files: 2 failed, 17 passed, 19 total.'
@@ -121,7 +121,6 @@ const failing_tests = [
121121
'vlib/v/tests/generics/generic_fn_infer_multi_paras_test.v',
122122
'vlib/v/tests/generics/generic_fn_infer_nested_struct_test.v',
123123
'vlib/v/tests/generics/generic_fn_multi_return_test.v',
124-
'vlib/v/tests/generics/generic_fn_param_test.v',
125124
'vlib/v/tests/generics/generic_fn_typeof_name_test.v',
126125
'vlib/v/tests/generics/generic_fn_with_comptime_for_test.v',
127126
'vlib/v/tests/generics/generic_function_error_propagation_test.v',
@@ -156,7 +155,6 @@ const failing_tests = [
156155
'vlib/v/tests/generics/generic_typeof_test.v',
157156
'vlib/v/tests/generics/generics_array_builtin_method_call_test.v',
158157
'vlib/v/tests/generics/generics_array_delete_test.v',
159-
'vlib/v/tests/generics/generics_array_drop_test.v',
160158
'vlib/v/tests/generics/generics_array_method_call_with_multi_types_test.v',
161159
'vlib/v/tests/generics/generics_array_of_interface_method_call_test.v',
162160
'vlib/v/tests/generics/generics_array_of_threads_test.v',
@@ -175,7 +173,6 @@ const failing_tests = [
175173
'vlib/v/tests/generics/generics_map_with_reference_arg_test.v',
176174
'vlib/v/tests/generics/generics_method_call_with_short_syntax_args_test.v',
177175
'vlib/v/tests/generics/generics_method_chaining_call_test.v',
178-
'vlib/v/tests/generics/generics_method_on_embed_struct_test.v',
179176
'vlib/v/tests/generics/generics_method_on_generic_structs_test.v',
180177
'vlib/v/tests/generics/generics_method_on_nested_struct2_test.v',
181178
'vlib/v/tests/generics/generics_method_on_receiver_aliases_types_test.v',
@@ -197,7 +194,6 @@ const failing_tests = [
197194
'vlib/v/tests/generics/generics_struct_with_inconsistent_generic_types_1_test.v',
198195
'vlib/v/tests/generics/generics_struct_with_non_generic_interface_test.v',
199196
'vlib/v/tests/generics/generics_struct_with_option_fn_test.v',
200-
'vlib/v/tests/generics/generics_test.v',
201197
'vlib/v/tests/generics/generics_with_anon_generics_fn_test.v',
202198
'vlib/v/tests/generics/generics_with_assign_nested_generics_call_test.v',
203199
'vlib/v/tests/generics/generics_with_embed_generics_method_call_test.v',

‎vlib/veb/tests/memory_leak_test.v‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
// vtest retry: 3
12
// vtest build: !docker-ubuntu-musl && !sanitize-memory-clang && !sanitize-address-clang-without-gc
23
import os
34
import time

‎vlib/veb/tests/veb_test.v‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
// vtest retry: 3
12
// vtest build: !sanitized_job?
23
import os
34
import time

‎vlib/vweb/tests/middleware_test.v‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
// vtest retry: 3
12
import os
23
import time
34
import x.json2 as json

0 commit comments

Comments
 (0)