From 5b21b080ce9d4dcde55c932fe05541fa125358fd Mon Sep 17 00:00:00 2001 From: Alexander Medvednikov Date: Wed, 11 Mar 2026 11:49:47 +0300 Subject: [PATCH] cgen: when calling dump() on a array with a type containing multiple types outputs wrong values and breaks execution (fixes #24154) --- 01KKE18ABRFNAZKDMP7K3CNFSS | Bin 0 -> 181336 bytes vlib/v/gen/c/auto_str_methods.v | 5 +-- .../string_array_of_ref_alias_struct_test.v | 29 ++++++++++++++++++ 3 files changed, 32 insertions(+), 2 deletions(-) create mode 100755 01KKE18ABRFNAZKDMP7K3CNFSS create mode 100644 vlib/v/tests/builtin_strings_and_interpolation/string_array_of_ref_alias_struct_test.v diff --git a/01KKE18ABRFNAZKDMP7K3CNFSS b/01KKE18ABRFNAZKDMP7K3CNFSS new file mode 100755 index 0000000000000000000000000000000000000000..ee61cc2b6bd31822bee7e04f2807cdd81386ee51 GIT binary patch literal 181336 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 literal 0 HcmV?d00001 diff --git a/vlib/v/gen/c/auto_str_methods.v b/vlib/v/gen/c/auto_str_methods.v index 1b209effe..ea5b84984 100644 --- a/vlib/v/gen/c/auto_str_methods.v +++ b/vlib/v/gen/c/auto_str_methods.v @@ -645,7 +645,8 @@ fn (mut g Gen) gen_str_for_array(info ast.Array, styp string, str_fn_name string mut sym := g.table.sym(info.elem_type) is_option := typ.has_flag(.option) if !is_option && mut sym.info is ast.Alias { - typ = sym.info.parent_type + // Keep pointer depth/flags when unwrapping aliases (e.g. []&AliasStruct). + typ = sym.info.parent_type.derive(typ) sym = g.table.sym(typ) } field_styp := g.styp(typ) @@ -752,7 +753,7 @@ fn (mut g Gen) gen_str_for_array_fixed(info ast.ArrayFixed, styp string, str_fn_ mut typ := info.elem_type mut sym := g.table.sym(info.elem_type) if mut sym.info is ast.Alias { - typ = sym.info.parent_type + typ = sym.info.parent_type.derive(typ) sym = g.table.sym(typ) } is_elem_ptr := typ.is_ptr() diff --git a/vlib/v/tests/builtin_strings_and_interpolation/string_array_of_ref_alias_struct_test.v b/vlib/v/tests/builtin_strings_and_interpolation/string_array_of_ref_alias_struct_test.v new file mode 100644 index 000000000..86d44005c --- /dev/null +++ b/vlib/v/tests/builtin_strings_and_interpolation/string_array_of_ref_alias_struct_test.v @@ -0,0 +1,29 @@ +type Issue24154Order = Issue24154Asset + +struct Issue24154Asset { + id string +} + +fn test_string_array_of_ref_alias_struct() { + mut list_orders := []&Issue24154Order{} + list_orders << &Issue24154Order{ + id: '2' + } + list_orders << &Issue24154Order{ + id: '3' + } + s := '${list_orders}' + assert s.contains("id: '2'") + assert s.contains("id: '3'") +} + +fn test_string_fixed_array_of_ref_alias_struct() { + list_orders := [&Issue24154Order{ + id: '4' + }, &Issue24154Order{ + id: '5' + }]! + s := '${list_orders}' + assert s.contains("id: '4'") + assert s.contains("id: '5'") +} -- 2.39.5