From 7083f3f32c075a174faeec6a1e17326c48a3c259 Mon Sep 17 00:00:00 2001 From: Alexander Medvednikov Date: Wed, 11 Mar 2026 13:44:15 +0300 Subject: [PATCH] cgen: generic function pointer returns wrong output (fixes #21499) --- .../generic_ref_arg_struct_init_value_test.v | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 vlib/v/tests/pointers/generic_ref_arg_struct_init_value_test.v diff --git a/vlib/v/tests/pointers/generic_ref_arg_struct_init_value_test.v b/vlib/v/tests/pointers/generic_ref_arg_struct_init_value_test.v new file mode 100644 index 000000000..eb5d81b4c --- /dev/null +++ b/vlib/v/tests/pointers/generic_ref_arg_struct_init_value_test.v @@ -0,0 +1,17 @@ +module main + +struct Issue21499Wrapper { + a int +} + +fn issue21499_wrap[T](a &T) Issue21499Wrapper { + $if T is int { + return Issue21499Wrapper{a} + } + return Issue21499Wrapper{} +} + +fn test_generic_ref_arg_struct_init_is_auto_dereferenced() { + a := 123 + assert issue21499_wrap(a).a == 123 +} -- 2.39.5