Issue #9947 has been reported by Alexey Muranov.

----------------------------------------
Feature #9947: Make `Object#send` and `Object#method` private
https://bugs.ruby-lang.org/issues/9947

* Author: Alexey Muranov
* Status: Open
* Priority: Normal
* Assignee: 
* Category: 
* Target version: 
----------------------------------------
I propose to make `Object#send` and `Object#method` private.

* If someone wants to use public `#send` or `#method` with their class, they can easily opt in :

```ruby
class MyClass
  public :send, :method
end
```
 
* They can also use `BasicObject#__send__`.  (There is however a mismatch between `BasicObject#__send__` and `Kernel#__method__`.)

* There is hardly any good reason IMO to use public `#send` or `#method` with someone else's classes.

* I am trying to never call `#send` or `#method` with an explicit receiver, but since `#send` and `#method` are public anyway, i feel that my code will be *under-appreciated* if someone looks at it.



-- 
https://bugs.ruby-lang.org/