class RuboCop::Cop::Sorbet::ImplicitConversionMethod
@note Since the arity of aliased methods is not checked, false positives may result.
@see docs.ruby-lang.org/en/master/implicit_conversion_rdoc.html<br><br>alias to_str to_s
# bad
def self.to_str(x); end
# good
def self.to_str; end
# bad
def to_str(x); end
# good
def to_str; end
# bad
@example
implicit conversion is currently unsupported.
Since Sorbet is a nominal (not structural) type system,
Disallows declaring implicit conversion methods.
def on_alias(node)
def on_alias(node) new_id = node.new_identifier add_offense(new_id) if IMPLICIT_CONVERSION_METHODS.include?(new_id.value) end
def on_def(node)
def on_def(node) return unless IMPLICIT_CONVERSION_METHODS.include?(node.method_name) return unless node.arguments.empty? add_offense(node) end
def on_send(node)
def on_send(node) add_offense(node.first_argument) if IMPLICIT_CONVERSION_METHODS.include?(node.first_argument.value) end