Actions
Bug #15808
closedForwardable doesn't allow forwarding the 'print' message
Status:
Rejected
Assignee:
-
Target version:
-
ruby -v:
ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-darwin17]
Description
The following program forwards two messages to @foo
: message 'print' and message 'bar'.
When I forward the 'print' message, I see a warning and the return value of print
is always nil
(despite the fact that I specified my own return value).
When I forward the 'bar' message, it works as expected (I see the return value of 'bar').
require 'forwardable'
require 'ostruct'
class A
extend Forwardable
def_delegators :@foo, :print, :bar
def initialize(foo)
@foo = foo
end
end
obj = A.new(OpenStruct.new(print: 123, bar: 456))
p "print - #{obj.print}; bar - #{obj.bar}"
forwardable_bug.rb:15: warning: A#print at /Users/kyrylo/.rubies/ruby-2.6.0/lib/ruby/2.6.0/forwardable.rb:158 forwarding to private method OpenStruct#print
"print - ; bar - 456"
Files
Actions
Like0
Like0