From 6a47deb3f890765a71110ffb0c664de35b54e501 Mon Sep 17 00:00:00 2001 From: spaceface777 Date: Fri, 4 Dec 2020 19:39:32 +0100 Subject: [PATCH] checker: ensure array init matches the array's type (#7118) --- vlib/v/checker/checker.v | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/vlib/v/checker/checker.v b/vlib/v/checker/checker.v index 84005d9c79..ed93403072 100644 --- a/vlib/v/checker/checker.v +++ b/vlib/v/checker/checker.v @@ -2317,7 +2317,10 @@ pub fn (mut c Checker) array_init(mut array_init ast.ArrayInit) table.Type { } sym := c.table.get_type_symbol(array_init.elem_type) if array_init.has_default { - c.expr(array_init.default_expr) + default_typ := c.expr(array_init.default_expr) + c.check_expected(default_typ, array_init.elem_type) or { + c.error(err, array_init.default_expr.position()) + } } if sym.kind == .sum_type { if array_init.has_len && !array_init.has_default {