From 9ee192c2db34f24451982afd456ca3060e0ac28a Mon Sep 17 00:00:00 2001 From: Alexander Medvednikov Date: Tue, 14 Apr 2026 22:30:09 +0300 Subject: [PATCH] cgen: fix global string array not being modifiable in function (fixes #17377) --- .../global_string_array_mut_fn.run.out | 2 ++ .../globals_run/global_string_array_mut_fn.vv | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 vlib/v/checker/tests/globals_run/global_string_array_mut_fn.run.out create mode 100644 vlib/v/checker/tests/globals_run/global_string_array_mut_fn.vv diff --git a/vlib/v/checker/tests/globals_run/global_string_array_mut_fn.run.out b/vlib/v/checker/tests/globals_run/global_string_array_mut_fn.run.out new file mode 100644 index 000000000..a8a1a7045 --- /dev/null +++ b/vlib/v/checker/tests/globals_run/global_string_array_mut_fn.run.out @@ -0,0 +1,2 @@ +['aa', 'bb'] +['1', 'bb'] diff --git a/vlib/v/checker/tests/globals_run/global_string_array_mut_fn.vv b/vlib/v/checker/tests/globals_run/global_string_array_mut_fn.vv new file mode 100644 index 000000000..3ca768014 --- /dev/null +++ b/vlib/v/checker/tests/globals_run/global_string_array_mut_fn.vv @@ -0,0 +1,19 @@ +__global ( + s []string +) + +fn add_string(mut ss []string) { + ss << 'bb' +} + +fn main() { + mut t := []string{} + s << 'aa' + t << '1' + add_string(mut s) + add_string(mut t) + println(s) + println(t) + assert s == ['aa', 'bb'] + assert t == ['1', 'bb'] +} -- 2.39.5