---
title: "Rails 7 deprecates Enumerable#sum and Array#sum"
description: "Rails 7 deprecates Enumerable#sum and Array#sum"
canonical_url: "https://www.bigbinary.com/blog/rails-7-deprecates-enumerable-sum-and-array-sum"
markdown_url: "https://www.bigbinary.com/blog/rails-7-deprecates-enumerable-sum-and-array-sum.md"
---

# Rails 7 deprecates Enumerable#sum and Array#sum

Rails 7 deprecates Enumerable#sum and Array#sum

- Author: Aashish Saini
- Published: June 22, 2021
- Categories: Rails, Rails 7

Rails 7 deprecates Enumerable#sum to the calls with non-numeric arguments. To
ignore the warning we should use a suitable initial argument.

Before Rails 7

```ruby
=> %w[foo bar].sum
=> "foobar"

=> [[1, 2], [3, 4, 5]].sum
=> [1, 2, 3, 4, 5]
```

After Rails 7

```ruby
=> %w[foo bar].sum
=> Rails 7.0 has deprecated Enumerable.sum in favor of Ruby's native implementation available since 2.4.
   Sum of non-numeric elements requires an initial argument.

=> [[1, 2], [3, 4, 5]].sum
=> Rails 7.0 has deprecated Enumerable.sum in favor of Ruby's native implementation available since 2.4.
   Sum of non-numeric elements requires an initial argument.
```

To avoid the deprecation warning, we should use suitable argument as below.

```ruby
=> %w[foo bar].sum('')
=> "foobar"

=> [[1, 2], [3, 4, 5]].sum([])
=> [1, 2, 3, 4, 5]
```

Check out this [pull request](https://github.com/rails/rails/pull/42080) for
more details.

## Links

- [Human page](https://www.bigbinary.com/blog/rails-7-deprecates-enumerable-sum-and-array-sum)
