From dda2b5685434309c6a192071599c3f7566d6b924 Mon Sep 17 00:00:00 2001 From: shove Date: Fri, 22 Dec 2023 19:01:42 +0800 Subject: [PATCH] checker: remove unnecessary struct ref field initialization checks and notifications at map initializing(fix #20245) (#20251) --- vlib/v/checker/containers.v | 1 - ...map_elements_ref_fields_uninitialized_err.out | 16 +--------------- 2 files changed, 1 insertion(+), 16 deletions(-) diff --git a/vlib/v/checker/containers.v b/vlib/v/checker/containers.v index 1a88fed60..a75ae46c4 100644 --- a/vlib/v/checker/containers.v +++ b/vlib/v/checker/containers.v @@ -405,7 +405,6 @@ fn (mut c Checker) map_init(mut node ast.MapInit) ast.Type { c.ensure_type_exists(info.value_type, node.pos) node.key_type = info.key_type node.value_type = info.value_type - c.check_elements_ref_fields_initialized(node.typ, node.pos) return node.typ } diff --git a/vlib/v/checker/tests/array_map_elements_ref_fields_uninitialized_err.out b/vlib/v/checker/tests/array_map_elements_ref_fields_uninitialized_err.out index 4e436c801..e50666613 100644 --- a/vlib/v/checker/tests/array_map_elements_ref_fields_uninitialized_err.out +++ b/vlib/v/checker/tests/array_map_elements_ref_fields_uninitialized_err.out @@ -1,5 +1,5 @@ vlib/v/checker/tests/array_map_elements_ref_fields_uninitialized_err.vv:8:6: notice: reference field `Foo.n` must be initialized (part of struct `Foo`) - 6 | + 6 | 7 | fn main() { 8 | _ = []Foo{len: 1} | ~~~~~~ @@ -12,20 +12,6 @@ vlib/v/checker/tests/array_map_elements_ref_fields_uninitialized_err.vv:9:6: not | ~~~~~~~~ 10 | _ = map[string]Foo{} 11 | _ = map[string][]Foo{} -vlib/v/checker/tests/array_map_elements_ref_fields_uninitialized_err.vv:10:6: notice: reference field `Foo.n` must be initialized (part of struct `Foo`) - 8 | _ = []Foo{len: 1} - 9 | _ = [1]Foo{} - 10 | _ = map[string]Foo{} - | ~~~~~~~~~~~~~~~~ - 11 | _ = map[string][]Foo{} - 12 | _ = []AliasFoo{len: 1} -vlib/v/checker/tests/array_map_elements_ref_fields_uninitialized_err.vv:11:6: notice: reference field `Foo.n` must be initialized (part of struct `Foo`) - 9 | _ = [1]Foo{} - 10 | _ = map[string]Foo{} - 11 | _ = map[string][]Foo{} - | ~~~~~~~~~~~~~~~~~~ - 12 | _ = []AliasFoo{len: 1} - 13 | } vlib/v/checker/tests/array_map_elements_ref_fields_uninitialized_err.vv:12:6: notice: reference field `Foo.n` must be initialized (part of struct `Foo`) 10 | _ = map[string]Foo{} 11 | _ = map[string][]Foo{} -- 2.39.5