checker: fix the void type check

pull/11489/head
Alexander Medvednikov 2021-09-14 01:02:20 +03:00
parent b63ec8fbcf
commit 12ec900d20
1 changed files with 4 additions and 3 deletions

View File

@ -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)