diff --git a/vlib/v/checker/fn.v b/vlib/v/checker/fn.v index 1ba0ee8940..e411789390 100644 --- a/vlib/v/checker/fn.v +++ b/vlib/v/checker/fn.v @@ -927,7 +927,6 @@ pub fn (mut c Checker) fn_call(mut node ast.CallExpr, mut continue_check &bool) } } if c.pref.translated || c.file.is_translated { - // TODO duplicated logic in check_types() (check_types.v) // Allow enums to be used as ints and vice versa in translated code if param.typ == ast.int_type && arg_typ_sym.kind == .enum_ { @@ -961,7 +960,8 @@ pub fn (mut c Checker) fn_call(mut node ast.CallExpr, mut continue_check &bool) } // Allow `[32]i8` as `&i8` etc if ((arg_typ_sym.kind == .array_fixed || arg_typ_sym.kind == .array) - && (param_is_number || c.table.unaliased_type(param.typ).is_any_kind_of_pointer())) + && (param_is_number + || c.table.unaliased_type(param.typ).is_any_kind_of_pointer())) || ((param_typ_sym.kind == .array_fixed || param_typ_sym.kind == .array) && (typ_is_number || c.table.unaliased_type(arg_typ).is_any_kind_of_pointer())) { continue