diff --git a/vlib/v/checker/checker.v b/vlib/v/checker/checker.v index 358ae9501d..4ad49c3b87 100644 --- a/vlib/v/checker/checker.v +++ b/vlib/v/checker/checker.v @@ -3901,11 +3901,12 @@ pub fn (mut c Checker) assign_stmt(mut node ast.AssignStmt) { } if node.left.len != right_len { if right_first is ast.CallExpr { - if node.left_types.len > 0 && node.left_types[0] != ast.void_type { + if node.left_types.len > 0 && node.left_types[0] == ast.void_type { // If it's a void type, it's an unknown variable, already had an error earlier. - c.error('assignment mismatch: $node.left.len variable(s) but `${right_first.name}()` returns $right_len value(s)', - node.pos) + return } + c.error('assignment mismatch: $node.left.len variable(s) but `${right_first.name}()` returns $right_len value(s)', + node.pos) } else { c.error('assignment mismatch: $node.left.len variable(s) $right_len value(s)', node.pos)