Actions
Bug #13817
closedtest/unit breaks Hash
Description
Consider the following program:
#!/usr/bin/env ruby
BEGIN {$VERBOSE = true}
require 'test/unit'
class Hash
STDERR.puts method_defined?(:<<)
alias << merge!
STDERR.puts method_defined?(:<<)
end
In older Ruby versions (1.9.3, 2.3.3), the output of this program was:
false
true
In Ruby 2.4.1, the output is
false
~/work/stash/vp5/src/test/test_xx.rb:6: warning: method redefined; discarding old <<
true
Please note:
- The warning occurs, even though
method_defined?
tells us that no<<
method is inHash
. - The warning disappears, when we do not require test/unit, which suggests that the problem is caused by test/unit
- Changing the offending line to
alias :<< :merge!
does not make any difference
Actions
Like0
Like0Like0Like0Like0Like0Like0Like0Like0