🐡
[Bug #21196] 転送引数を渡すと意図せず private メソッドが呼び出せてしまうバグ報告
[Bug #21196] Ruby 3.4 ignores visibility when passing arguments using ...
- 次のように
private
メソッドに転送引数を渡すとレシーバがあってもエラーにならないバグ報告
class X
private
def foo; end
end
def no_error(...)
X.new.foo(...)
end
def error
X.new.foo
end
# no error
no_error
# error: 'Object#error': private method 'foo' called for an instance of X (NoMethodError)
error
- そこまでクリティカルではありませんがうっかり呼び出してしまえるので注意が必要そうですね
- この不具合は Ruby 3.5-dev でエラーになるように修正済み
Discussion