From: "trans (Thomas Sawyer)" Date: 2012-05-15T02:58:02+09:00 Subject: [ruby-core:45036] [ruby-trunk - Bug #6434][Open] Block passed implicitly via super Issue #6434 has been reported by trans (Thomas Sawyer). ---------------------------------------- Bug #6434: Block passed implicitly via super https://bugs.ruby-lang.org/issues/6434 Author: trans (Thomas Sawyer) Status: Open Priority: Normal Assignee: Category: core Target version: 1.9.3 ruby -v: ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-linux] Block is being passed via super implicitly even though the method is explicit and does not pass the block when calling super. =begin class H < Hash def initialize(default=nil, &block) super(default) end end H.new(0){} ArgumentError: wrong number of arguments from (pry):3:in `initialize' =end Hash#initialize doesn't allow both a default argument and a default_proc, which is the cause of this error. Which means the block is being passed up even though it should not be. -- http://bugs.ruby-lang.org/