[Ruby 1.9-Bug#4401][Open] override :method method breaks Psych
--------------------------------------------------------------
Key: JRUBY-5520
URL: http://jira.codehaus.org/browse/JRUBY-5520
Project: JRuby
Issue Type: Bug
Components: Extensions, Ruby 1.9.2, Ruby 1.9.3
Affects Versions: JRuby 1.6RC2
Reporter: Charles Oliver Nutter
Description copied from http://redmine.ruby-lang.org/issues/show/4401
Author: Lin Jen-Shin
Status: Open, Priority: Normal
Assigned to: Aaron Patterson, Category: ext, Target version: 1.9.x
ruby -v: ruby 1.9.2p136 (2010-12-25 revision 30365) [x86_64-darwin10.5.0]
I am not sure if this could be considered a bug, but it used to work.
To reproduce it:
ruby -r psych -v -e 'Psych.dump(Struct.new(:method).new)'
ruby 1.9.2p136 (2010-12-25 revision 30365) [x86_64-darwin10.5.0]
/usr/local/Cellar/ruby/1.9.2-p136/lib/ruby/1.9.1/psych/visitors/yaml_tree.rb:48:in
`method': wrong number of arguments(1 for 0) (ArgumentError)
from
/usr/local/Cellar/ruby/1.9.2-p136/lib/ruby/1.9.1/psych/visitors/yaml_tree.rb:48:in
`accept'
from
/usr/local/Cellar/ruby/1.9.2-p136/lib/ruby/1.9.1/psych/visitors/yaml_tree.rb:36:in
`<<'
from /usr/local/Cellar/ruby/1.9.2-p136/lib/ruby/1.9.1/psych.rb:165:in
`dump'
from -e:1:in `<main>'
I don't have a good idea how to fix it,
but here's some demonstration:
https://github.com/godfat/ruby/commit/f4e0e8f781b05c767ad2472a43a4ed0727a75708
https://github.com/godfat/ruby/commit/c7a6cf975d88828c2ed27d253f41c480f9b66ad6
Patches attached as well, the same as above two commits.
I think they are against r30885.
Many thanks!
p.s. this issue was found in delayed_job's:
class PerformableMethod < Struct.new(:object, :method, :args)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email