Issue #16356 has been updated by zverok (Victor Shepelev).


`#inspect` just follows whatever `#parameters` say. 

But I indeed find that `#parameters` return value is kinda weird for this case:

```
./ruby --disable-gems -e "def m(...); end; p method(:m).parameters"
[[:rest, :*], [:block, :&]]
```
E.g., literally, "parameter of the *type* `:rest`, *named* `*`, and parameter of the *type* `:block`, *named* `&`".

I believe that a proper return value for parameters in this case would be, probably
```ruby
[[:rest], [:keyrest], [:block]]
```
If it would be so (and it seems reasonable), `#inspect` will return `#m(*, **, &)`

----------------------------------------
Feature #16356: Method#inspect of argument forwarding
https://bugs.ruby-lang.org/issues/16356#change-82742

* Author: znz (Kazuhiro NISHIYAMA)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
----------------------------------------
Current behavior includes `(**, &&)`.
Is this intentional?

```
% ruby -e 'def mf(...);end;p method(:mf)'
#<Method: main.mf(**, &&) -e:1>
```

I added tests of current behavior at https://github.com/ruby/ruby/commit/777973084e599cf9efa490173709b187fb507f90



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

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>