In JRuby version 9.2.14.0 Concurrent::Hash#deep_merge! is undefined, but it is defined for Ruby 2.6.6 Ruby 2.5.8. This is causing an error in my Rails app when upgrading to version 1.8.8 of the i18n gem, which uses the method (see ruby-i18n/i18n#554)
NoMethodError: undefined method `deep_merge!' for {}:Concurrent::Hash
Did you mean? deep_merge
store_translations at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/i18n-1.8.8/lib/i18n/backend/simple.rb:45
load_file at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/i18n-1.8.8/lib/i18n/backend/base.rb:230
each at org/jruby/RubyHash.java:1415
load_file at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/i18n-1.8.8/lib/i18n/backend/base.rb:230
load_translations at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/i18n-1.8.8/lib/i18n/backend/base.rb:18
each at org/jruby/RubyArray.java:1809
load_translations at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/i18n-1.8.8/lib/i18n/backend/base.rb:18
init_translations at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/i18n-1.8.8/lib/i18n/backend/simple.rb:80
eager_load! at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/i18n-1.8.8/lib/i18n/backend/simple.rb:65
eager_load! at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/i18n-1.8.8/lib/i18n.rb:77
each at org/jruby/RubyArray.java:1809
Finisher at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/railties-6.0.3.4/lib/rails/application/finisher.rb:123
instance_exec at org/jruby/RubyBasicObject.java:2694
run at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/railties-6.0.3.4/lib/rails/initializable.rb:32
run_initializers at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/railties-6.0.3.4/lib/rails/initializable.rb:61
tsort_each at /Users/mohamed/.rvm/rubies/jruby-9.2.14.0/lib/ruby/stdlib/tsort.rb:228
each_strongly_connected_component at /Users/mohamed/.rvm/rubies/jruby-9.2.14.0/lib/ruby/stdlib/tsort.rb:350
each_strongly_connected_component_from at /Users/mohamed/.rvm/rubies/jruby-9.2.14.0/lib/ruby/stdlib/tsort.rb:431
each_strongly_connected_component at /Users/mohamed/.rvm/rubies/jruby-9.2.14.0/lib/ruby/stdlib/tsort.rb:349
each at org/jruby/RubyArray.java:1809
call at org/jruby/RubyMethod.java:131
each_strongly_connected_component at /Users/mohamed/.rvm/rubies/jruby-9.2.14.0/lib/ruby/stdlib/tsort.rb:347
tsort_each at /Users/mohamed/.rvm/rubies/jruby-9.2.14.0/lib/ruby/stdlib/tsort.rb:226
tsort_each at /Users/mohamed/.rvm/rubies/jruby-9.2.14.0/lib/ruby/stdlib/tsort.rb:205
run_initializers at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/railties-6.0.3.4/lib/rails/initializable.rb:60
initialize! at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/railties-6.0.3.4/lib/rails/application.rb:363
<main> at /Users/mohamed/rubyprojects/substitutealert/config/environment.rb:33
require at org/jruby/RubyKernel.java:974
require at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/activesupport-6.0.3.4/lib/active_support/dependencies.rb:324
load_dependency at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/activesupport-6.0.3.4/lib/active_support/dependencies.rb:291
require at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/activesupport-6.0.3.4/lib/active_support/dependencies.rb:324
require_environment! at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/railties-6.0.3.4/lib/rails/application.rb:339
require_environment! at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/railties-6.0.3.4/lib/rails/command/actions.rb:28
require_application_and_environment! at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/railties-6.0.3.4/lib/rails/command/actions.rb:15
perform at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/railties-6.0.3.4/lib/rails/commands/console/console_command.rb:101
run at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/thor-1.1.0/lib/thor/command.rb:27
invoke_command at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/thor-1.1.0/lib/thor/invocation.rb:127
dispatch at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/thor-1.1.0/lib/thor.rb:392
perform at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/railties-6.0.3.4/lib/rails/command/base.rb:69
invoke at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/railties-6.0.3.4/lib/rails/command.rb:46
<main> at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/railties-6.0.3.4/lib/rails/commands.rb:18
require at org/jruby/RubyKernel.java:974
<main> at /Users/mohamed/rubyprojects/substitutealert/bin/rails:4
In JRuby version 9.2.14.0
Concurrent::Hash#deep_merge!is undefined, but it is defined forRuby 2.6.6Ruby 2.5.8. This is causing an error in my Rails app when upgrading to version 1.8.8 of thei18ngem, which uses the method (see ruby-i18n/i18n#554)