diff --git a/changelog/fix_a_false_positive_for_lint_number_conversion.md b/changelog/fix_a_false_positive_for_lint_number_conversion.md new file mode 100644 index 00000000000..bc8283bffdb --- /dev/null +++ b/changelog/fix_a_false_positive_for_lint_number_conversion.md @@ -0,0 +1 @@ +* [#9757](https://github.com/rubocop/rubocop/pull/9757): Fix a false positive for `Lint/NumberConversion` when `:to_f` is one of multiple method arguments. ([@koic][]) diff --git a/lib/rubocop/cop/lint/number_conversion.rb b/lib/rubocop/cop/lint/number_conversion.rb index 0aa4c525305..9a092316864 100644 --- a/lib/rubocop/cop/lint/number_conversion.rb +++ b/lib/rubocop/cop/lint/number_conversion.rb @@ -97,7 +97,7 @@ def handle_conversion_method(node) def handle_as_symbol(node) to_method_symbol(node) do |receiver, sym_node, to_method| - next if receiver.nil? + next if receiver.nil? || !node.arguments.one? message = format( MSG, diff --git a/spec/rubocop/cop/lint/number_conversion_spec.rb b/spec/rubocop/cop/lint/number_conversion_spec.rb index 1932f38a22b..1c6a7dae320 100644 --- a/spec/rubocop/cop/lint/number_conversion_spec.rb +++ b/spec/rubocop/cop/lint/number_conversion_spec.rb @@ -121,6 +121,12 @@ to_i RUBY end + + it 'when `:to_f` is one of multiple method arguments' do + expect_no_offenses(<<~RUBY) + delegate :to_f, to: :description, allow_nil: true + RUBY + end end context 'to_method in symbol form' do