diff --git a/vlib/v/gen/c/cgen.v b/vlib/v/gen/c/cgen.v index c8b561413d..85f016da73 100644 --- a/vlib/v/gen/c/cgen.v +++ b/vlib/v/gen/c/cgen.v @@ -2925,6 +2925,9 @@ fn (mut g Gen) gen_assign_stmt(assign_stmt ast.AssignStmt) { g.right_is_opt = true } if blank_assign { + if val is ast.IndexExpr { + g.assign_op = .decl_assign + } if is_call { old_is_void_expr_stmt := g.is_void_expr_stmt g.is_void_expr_stmt = true diff --git a/vlib/v/tests/map_get_assign_blank_test.v b/vlib/v/tests/map_get_assign_blank_test.v index fe6647d4ae..12be778695 100644 --- a/vlib/v/tests/map_get_assign_blank_test.v +++ b/vlib/v/tests/map_get_assign_blank_test.v @@ -1,6 +1,6 @@ type Abc = int | string -fn test_map_get_assign_blank() { +fn test_map_get_decl_assign_blank() { x := map[string]Abc{} _ := x['nonexisting'] if y := x['nonexisting'] { @@ -8,3 +8,12 @@ fn test_map_get_assign_blank() { } assert true } + +fn test_map_get_assign_blank() { + x := map[string]Abc{} + _ = x['nonexisting'] + if y := x['nonexisting'] { + println(y) + } + assert true +}