From f0a252d0e605ba1a121e52237bb69d4a21e78e5a Mon Sep 17 00:00:00 2001 From: l-m Date: Fri, 16 Dec 2022 16:57:50 +1100 Subject: [PATCH] builtin: apply `.nogrow` flags to gcboehm array (#16689) --- vlib/builtin/array_d_gcboehm_opt.v | 3 +++ 1 file changed, 3 insertions(+) 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