From: "nobu (Nobuyoshi Nakada)" Date: 2012-12-29T21:58:27+09:00 Subject: [ruby-core:51188] [ruby-trunk - Bug #7630][Assigned] Proc/block doesn't take keyword arguments Issue #7630 has been updated by nobu (Nobuyoshi Nakada). Category set to core Status changed from Open to Assigned Assignee set to ktsj (Kazuki Tsujimoto) It seems accessing out of the stack, so I think this bug is critical. Please fix it with a test. ---------------------------------------- Bug #7630: Proc/block doesn't take keyword arguments https://bugs.ruby-lang.org/issues/7630#change-35139 Author: ktsj (Kazuki Tsujimoto) Status: Assigned Priority: Normal Assignee: ktsj (Kazuki Tsujimoto) Category: core Target version: 2.0.0 ruby -v: ruby 2.0.0dev (2012-12-28 trunk 38642) [x86_64-linux] =begin $ ./ruby -e 'Proc.new{|k: 0|}.()' -e:1:in `block in
': undefined method `key?' for 70368666077121:Fixnum (NoMethodError) $ ./ruby -e ' def m yield end m{|k: 0|} ' -e:5:in `block in
': undefined method `key?' for nil:NilClass (NoMethodError) $ ./ruby -e 'lambda{|k: 0|}.()' I think Proc/block should take keyword arguments as well as lambda. I've attached a patch. =end -- http://bugs.ruby-lang.org/