Actions
Bug #16948
closedhash.each(&method(:something)) behavior changed without warning on master
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.8.0dev (2020-06-08T04:15:05Z master 465b5dc124) [x86_64-darwin19]
Description
I'm testing our app against ruby master as part of https://bugs.ruby-lang.org/issues/16895, and found the following unexpected change:
$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 `<main>'
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
Actions
Like0
Like0Like0Like0Like0