diff --git a/vlib/builtin/array_d_gcboehm_opt.v b/vlib/builtin/array_d_gcboehm_opt.v index 95cecdab85..6522fa269f 100644 --- a/vlib/builtin/array_d_gcboehm_opt.v +++ b/vlib/builtin/array_d_gcboehm_opt.v @@ -66,6 +66,9 @@ fn (mut a array) ensure_cap_noscan(required int) { if required <= a.cap { return } + if a.flags.has(.nogrow) { + panic('array.ensure_cap_noscan: array with the flag `.nogrow` cannot grow in size, array required new size: ${required}') + } mut cap := if a.cap > 0 { a.cap } else { 2 } for required > cap { cap *= 2