Actions
Bug #18600
closedAliased method visibility issue on Ruby 3.1
Bug #18600:
Aliased method visibility issue on Ruby 3.1
Description
It seems methods on classes that were originally private in the parent and made public in the child can no longer be aliased correctly:
class C
public :system
alias_method :bar, :system
alias_method :system, :bar
end
p RUBY_VERSION
p [C.new.respond_to?(:system), C.new.respond_to?(:system, true)]
On Ruby <= 3.0.3, this returns [true, true], but on Ruby >= 3.1.0 this returns [false, true]. The aliased method seems to revert visibility to the parent.
Actions