Project

General

Profile

Actions

Bug #4106

closed

1.9.2 regression - invoking protected singleton methods

Added by dmendel (Dion Mendel) over 14 years ago. Updated about 14 years ago.

Status:
Rejected
Assignee:
-
Target version:
-
ruby -v:
ruby 1.9.2p0 (2010-08-18 revision 29036) [i686-linux]
Backport:
[ruby-core:33506]

Description

=begin
Issue:

Invoking a method that has been made protected in an object's
singleton class fails with
NoMethodError: protected method `xxxx' called.

Invoking this protected method succeeds in 1.8.7 and 1.9.1.

Relevant code snippet:

class < a
  protected :meth
end

Test case:

In 1.8.7 and 1.9.1, code will output "method called"
In 1.9.2 code raises NoMethodError test.rb:13:in test': protected method meth' called for #<A:0x91477d4>


class A
def meth
puts 'method called'
end

def test
a = A.new

 class << a
   protected :meth
 end

 a.meth  # fails in 1.9.2

end
end

a = A.new
a.test
=end


Related issues 1 (0 open1 closed)

Related to Ruby - Bug #2375: protected singleton methods can be called from other instancesClosedmatz (Yukihiro Matsumoto)11/16/2009Actions
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0