[ruby-core:95900] [Ruby master Feature#16356] Method#inspect of argument forwarding

[email protected]
Newsgroups gmane.comp.lang.ruby.core
Message-ID <redmine.journal-82742.20191120201129.18e7ee9d4f23c5b0@ruby-lang.org>
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:[email protected]?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.