Project

General

Profile

Feature #21813

Updated by pabloh (Pablo Herrero) 2 days ago

When accessing `Method#parameters` for a method using forwarding parameters, an unexpected behavior arises: 

 ```ruby 
 def foo(*, **, &) 
   binding.eval "puts(#{(method(__method__).parameters.dig(0,1))})" # Works fine 
 end 


 def bar(...) foo(...) 
   binding.eval "puts(#{(method(__method__).parameters.dig(0,1))})" # Fails! 
 end 
 ``` 

 It's very strange that you can't access the parameters, on `eval`, using the symbols provided at `Method#parameters`. 

 Adding `[:forward, :...]` or `[:forwarding, :...]` for those cases feels simply natural. 

Back