From: jean.boussier@... Date: 2020-06-10T17:08:22+00:00 Subject: [ruby-core:98715] [Ruby master Bug#16948] hash.each(&method(:something)) behavior changed without warning on master Issue #16948 has been updated by byroot (Jean Boussier). > it may be reverted depending on the extent of the compatibility issues. My bad I should have seen it in `NEWS.md`. > it may be reverted depending on the extent of the compatibility issues. For what it's worth I found only two problematic call sites in a rather large application, and the fix was trivial. I suppose this ticket can be closed. ---------------------------------------- Bug #16948: hash.each(&method(:something)) behavior changed without warning on master https://bugs.ruby-lang.org/issues/16948#change-86065 * Author: byroot (Jean Boussier) * Status: Open * Priority: Normal * ruby -v: ruby 2.8.0dev (2020-06-08T04:15:05Z master 465b5dc124) [x86_64-darwin19] * Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN ---------------------------------------- I'm testing our app against ruby master as part of https://bugs.ruby-lang.org/issues/16895, and found the following unexpected change: ```ruby $VERBOSE = true def foo(a, b) p [a, b] end {1 => 2}.each(&method(:foo)) ``` ``` $ ruby -v ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-darwin19] $ ruby /tmp/debug.rb [1, 2] ``` ``` $ ruby -v ruby 2.8.0dev (2020-06-08T04:15:05Z master 465b5dc124) [x86_64-darwin19] $ ruby /tmp/debug.rb /tmp/debug.rb:3:in `foo': wrong number of arguments (given 1, expected 2) (ArgumentError) from /tmp/debug.rb:7:in `each' from /tmp/debug.rb:7:in `
' ``` I'm not sure if this was intended, but I would expect that either 2.7 would warn about this, or that it would continue to work on 2.8/3.0 -- https://bugs.ruby-lang.org/ Unsubscribe: