From: meanlogin@... Date: 2014-08-22T16:00:40+00:00 Subject: [ruby-core:64500] [ruby-trunk - Bug #10142] named params don't always capture passed named args Issue #10142 has been updated by First Last. First Last wrote: > Koichi Sasada wrote: > > Sorry I missed this line. > > > > > in this specific example, key arg b would be bound to key param b, and the remaining key arg c would be put into a hash which would be bound to mandatory param a > > > > Your proposal is to check keyword arguments before mandatory arguments. > > having never studied the actual implementation, this is as concrete as I can make it > > "before keyword args are packaged into a hash which is bound to a mandatory param, actual first class keyword params should get a chance to bind to/consume them" > > now that key args are first class, only those key args that failed to to bind to key params should be candidates for the fallback of hash packaging and binding to a regular param Can you at least explain why this would not be better? ---------------------------------------- Bug #10142: named params don't always capture passed named args https://bugs.ruby-lang.org/issues/10142#change-48444 * Author: First Last * Status: Rejected * Priority: Normal * Assignee: * Category: * Target version: * ruby -v: ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux] * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN ---------------------------------------- ~~~ruby irb(main):007:0> def foo(a, b: nil); [a, b] end :foo irb(main):008:0> foo b: 1 [ [0] { :b => 1 }, [1] nil ] ~~~ ______________________________ would be better if this raised -- https://bugs.ruby-lang.org/