checker: more c2v fixes
							parent
							
								
									1999fb9a95
								
							
						
					
					
						commit
						ace9444108
					
				| 
						 | 
					@ -2852,6 +2852,19 @@ pub fn (mut c Checker) fn_call(mut node ast.CallExpr, mut continue_check &bool)
 | 
				
			||||||
				if typ == ast.int_type && param_typ_sym.kind == .enum_ {
 | 
									if typ == ast.int_type && param_typ_sym.kind == .enum_ {
 | 
				
			||||||
					continue
 | 
										continue
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
 | 
									// In C unsafe number casts are used all the time (e.g. `char*` where
 | 
				
			||||||
 | 
									// `int*` is expected etc), so just allow them all.
 | 
				
			||||||
 | 
									mut param_is_number := param.typ.is_number()
 | 
				
			||||||
 | 
									if param.typ.is_ptr() {
 | 
				
			||||||
 | 
										param_is_number = param.typ.deref().is_number()
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
									mut typ_is_number := typ.is_number()
 | 
				
			||||||
 | 
									if typ.is_ptr() {
 | 
				
			||||||
 | 
										typ_is_number = typ.deref().is_number()
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
									if param_is_number && typ_is_number {
 | 
				
			||||||
 | 
										continue
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			c.error('$err.msg in argument ${i + 1} to `$fn_name`', call_arg.pos)
 | 
								c.error('$err.msg in argument ${i + 1} to `$fn_name`', call_arg.pos)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
| 
						 | 
					@ -6374,7 +6387,7 @@ fn (mut c Checker) match_exprs(mut node ast.MatchExpr, cond_type_sym ast.TypeSym
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if is_exhaustive {
 | 
						if is_exhaustive {
 | 
				
			||||||
		if has_else {
 | 
							if has_else && !c.pref.translated {
 | 
				
			||||||
			c.error('match expression is exhaustive, `else` is unnecessary', else_branch.pos)
 | 
								c.error('match expression is exhaustive, `else` is unnecessary', else_branch.pos)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue