[MacRuby] #326: module_function implicit use breaks (ArgumentError) with 1-arg splat methods (w/test code)
#326: module_function implicit use breaks (ArgumentError) with 1-arg splat methods (w/test code) ---------------------------+------------------------------------------------ Reporter: occam@… | Owner: lsansonetti@… Type: defect | Status: new Priority: major | Milestone: Component: MacRuby | Keywords: module_function splat ArgumentError ---------------------------+------------------------------------------------ module_function works for explicit declarations, but seems to have a problem (ArgumentError) with 1-arg splat methods when used implicitly. I think a fix here will help compatibility with various libraries (e.g., Linguistics). Best to show with code: module SplatTesting def use( *languages ) p "def use( *languages )" end module_function :use module_function def useBROKEN( *languages ) p "def useBROKEN( *languages )" end end SplatTesting.use # => "def use( *languages )" SplatTesting.use 'foo' # => "def use( *languages )" SplatTesting.useBROKEN # => "def useBROKEN( *languages )" SplatTesting.useBROKEN 'foo' # wrong number of arguments (1 for 0) for useBROKEN: (ArgumentError) -- Ticket URL: <http://www.macruby.org/trac/ticket/326> MacRuby <http://macruby.org/>
#326: module_function implicit use breaks (ArgumentError) with 1-arg splat methods (w/test code) ---------------------------+------------------------------------------------ Reporter: occam@… | Owner: lsansonetti@… Type: defect | Status: new Priority: major | Milestone: Component: MacRuby | Keywords: module_function splat ArgumentError ---------------------------+------------------------------------------------ Comment(by occam@…): Not sure what happened to the formatting. Try replying to the ticket, and copy from the reply (original formatting is preserved in the reply). Perhaps this will help: {{{ module SplatTesting def use( *languages ) p "def use( *languages )" end module_function :use module_function def useBROKEN( *languages ) p "def useBROKEN( *languages )" end end SplatTesting.use # => "def use( *languages )" SplatTesting.use 'foo' # => "def use( *languages )" SplatTesting.useBROKEN # => "def useBROKEN( *languages )" SplatTesting.useBROKEN 'foo' # wrong number of arguments (1 for 0) for useBROKEN: (ArgumentError) }}} -- Ticket URL: <http://www.macruby.org/trac/ticket/326#comment:1> MacRuby <http://macruby.org/>
#326: module_function implicit use breaks (ArgumentError) with 1-arg splat methods (w/test code) ---------------------------+------------------------------------------------ Reporter: occam@… | Owner: lsansonetti@… Type: defect | Status: new Priority: major | Milestone: Component: MacRuby | Keywords: module_function splat ArgumentError ---------------------------+------------------------------------------------ Comment(by lsansonetti@…): Thanks, added to test_vm/dispatch.rb in r2496. -- Ticket URL: <http://www.macruby.org/trac/ticket/326#comment:3> MacRuby <http://macruby.org/>
#326: module_function implicit use breaks (ArgumentError) with 1-arg splat methods (w/test code) -------------------------------------------------+-------------------------- Reporter: occam@… | Owner: lsansonetti@… Type: defect | Status: closed Priority: major | Milestone: MacRuby 0.5 Component: MacRuby | Resolution: fixed Keywords: module_function splat ArgumentError | -------------------------------------------------+-------------------------- Changes (by lsansonetti@…): * status: new => closed * resolution: => fixed * milestone: => MacRuby 0.5 Comment: Should be fixed in r2828. -- Ticket URL: <http://www.macruby.org/trac/ticket/326#comment:4> MacRuby <http://macruby.org/>
participants (1)
-
MacRuby