diff --git a/vlib/v/checker/checker.v b/vlib/v/checker/checker.v index f164b986a8..26b5118de0 100644 --- a/vlib/v/checker/checker.v +++ b/vlib/v/checker/checker.v @@ -158,7 +158,7 @@ pub fn (c mut Checker) call_expr(call_expr ast.CallExpr) table.Type { arg_typ_sym := c.table.get_type_symbol(arg.typ) if !c.table.check(typ, arg.typ) { // str method, allow type with str method if fn arg is string - if table.type_idx(arg.typ) == table.string_type_idx && typ_sym.has_method('str') { + if arg_typ_sym.kind == .string && typ_sym.has_method('str') { break } c.error('!cannot use type `$typ_sym.name` as type `$arg_typ_sym.name` in argument ${i+1} to `$fn_name`', call_expr.pos)