diff --git a/vlib/v/ast/str.v b/vlib/v/ast/str.v index 59a879c613..e032f51834 100644 --- a/vlib/v/ast/str.v +++ b/vlib/v/ast/str.v @@ -183,6 +183,23 @@ pub fn (lit &StringInterLiteral) get_fspec_braces(i int) (string, bool) { // string representation of expr pub fn (x Expr) str() string { match x { + ArrayInit { + mut fields := []string{} + if x.has_len { + fields << 'len: $x.len_expr.str()' + } + if x.has_cap { + fields << 'cap: $x.cap_expr.str()' + } + if x.has_default { + fields << 'init: $x.default_expr.str()' + } + if fields.len > 0 { + return '[]T{${fields.join(', ')}}' + } else { + return x.exprs.str() + } + } CTempVar { return x.orig.str() }