checker: better << error
							parent
							
								
									fca11dd441
								
							
						
					
					
						commit
						b0018ed594
					
				| 
						 | 
				
			
			@ -399,7 +399,7 @@ pub fn (mut c Checker) infix_expr(infix_expr mut ast.InfixExpr) table.Type {
 | 
			
		|||
					// []T << []T
 | 
			
		||||
					return table.void_type
 | 
			
		||||
				}
 | 
			
		||||
				c.error('cannot shift type $right.name into $left.name', infix_expr.right.position())
 | 
			
		||||
				c.error('cannot append `$right.name` to `$left.name`', infix_expr.right.position())
 | 
			
		||||
				return table.void_type
 | 
			
		||||
			} else if !left.is_int() {
 | 
			
		||||
				c.error('cannot shift type $right.name into non-integer type $left.name', infix_expr.left.position())
 | 
			
		||||
| 
						 | 
				
			
			@ -1033,14 +1033,13 @@ pub fn (mut c Checker) assign_stmt(assign_stmt mut ast.AssignStmt) {
 | 
			
		|||
		if assign_stmt.left.len != right_len {
 | 
			
		||||
			c.error('assignment mismatch: $assign_stmt.left.len variable(s) but `${call_expr.name}()` returns $right_len value(s)',
 | 
			
		||||
				assign_stmt.pos)
 | 
			
		||||
				return
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	else {
 | 
			
		||||
	} else {
 | 
			
		||||
		if assign_stmt.left.len != assign_stmt.right.len {
 | 
			
		||||
			c.error('assignment mismatch: $assign_stmt.left.len variable(s) $assign_stmt.right.len value(s)',
 | 
			
		||||
				assign_stmt.pos)
 | 
			
		||||
				return
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	mut scope := c.file.scope.innermost(assign_stmt.pos.pos)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
vlib/v/checker/tests/left_shift_err.v:3:7: error: cannot shift type string into array_int
 | 
			
		||||
vlib/v/checker/tests/left_shift_err.v:3:7: error: cannot append `string` to `array_int`
 | 
			
		||||
    1 | fn main() {
 | 
			
		||||
    2 |     mut l := []int{}
 | 
			
		||||
    3 |     l << 'test'
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue