checker: fix panic on `fn abc()?{ return error() }`
							parent
							
								
									d6e462a6ca
								
							
						
					
					
						commit
						b29bc9cdce
					
				|  | @ -2430,7 +2430,7 @@ pub fn (mut c Checker) fn_call(mut call_expr ast.CallExpr) ast.Type { | ||||||
| 		return func.return_type | 		return func.return_type | ||||||
| 	} | 	} | ||||||
| 	// `return error(err)` -> `return err`
 | 	// `return error(err)` -> `return err`
 | ||||||
| 	if fn_name == 'error' { | 	if fn_name == 'error' && call_expr.args.len == 1 { | ||||||
| 		arg := call_expr.args[0] | 		arg := call_expr.args[0] | ||||||
| 		call_expr.args[0].typ = c.expr(arg.expr) | 		call_expr.args[0].typ = c.expr(arg.expr) | ||||||
| 		if call_expr.args[0].typ == ast.error_type { | 		if call_expr.args[0].typ == ast.error_type { | ||||||
|  |  | ||||||
|  | @ -0,0 +1,5 @@ | ||||||
|  | vlib/v/checker/tests/error_fn_with_0_args.vv:2:9: error: expected 1 arguments, but got 0 | ||||||
|  |     1 | fn abc() ? { | ||||||
|  |     2 |     return error() | ||||||
|  |       |            ~~~~~~~ | ||||||
|  |     3 | } | ||||||
|  | @ -0,0 +1,3 @@ | ||||||
|  | fn abc() ? { | ||||||
|  | 	return error() | ||||||
|  | } | ||||||
		Loading…
	
		Reference in New Issue