From: "marcandre (Marc-Andre Lafortune)" Date: 2013-02-01T05:38:18+09:00 Subject: [ruby-core:51785] [ruby-trunk - Bug #7765][Open] Proc#arity bug with optional argument Issue #7765 has been reported by marcandre (Marc-Andre Lafortune). ---------------------------------------- Bug #7765: Proc#arity bug with optional argument https://bugs.ruby-lang.org/issues/7765 Author: marcandre (Marc-Andre Lafortune) Status: Open Priority: Normal Assignee: marcandre (Marc-Andre Lafortune) Category: core Target version: 2.0.0 ruby -v: r38984 We have: Proc.new{|a, b, c, d, e|}.arity # => 5 Matz decided [ruby-core:46515] we also have: Proc.new{|a, b, c, d, e=0|}.arity # => 4 It looks like we currently have: Proc.new{|a, b=0, c, d, e|}.arity # => 1, should be same as above Hopefully there won't be disagreement that this is a bug? I'm asking in particular because there was a specific test committed by Yui to that effect. I hope this was just an oversight? assert_equal(0, proc{|x=0, y|}.arity) # Should be 1, not 0. test/ruby/test_proc.rb:67 My patch is ready and I will commit it unless there is objection. https://github.com/marcandre/ruby/compare/marcandre:trunk...marcandre:proc_curry -- http://bugs.ruby-lang.org/