From: mame@... Date: 2019-12-19T23:28:56+00:00 Subject: [ruby-core:96345] [Ruby master Bug#8507] Keyword splat does not convert arg to Hash Issue #8507 has been updated by mame (Yusuke Endoh). Backport deleted (1.9.3: UNKNOWN, 2.0.0: UNKNOWN) Status changed from Feedback to Rejected As far as I understand, no one showed any actual use case that justifies adding `nil.to_h #=> {}`. I agree with matz, it would be better to remove `nil.to_a #=> []` instead of adding `nil.to_h #=> {}` for this issue. I don't think it is possible for the compatibility reason, though. ---------------------------------------- Bug #8507: Keyword splat does not convert arg to Hash https://bugs.ruby-lang.org/issues/8507#change-83255 * Author: stephencelis (Stephen Celis) * Status: Rejected * Priority: Normal * Assignee: matz (Yukihiro Matsumoto) * Target version: * ruby -v: ruby 2.0.0p195 (2013-05-14 revision 40734) [x86_64-darwin12.3.0] * Backport: ---------------------------------------- A single splat is useful to convert an object to an array as it passes from one method to the next, so I expected the double-splat to do the same and convert the object to a hash. ~~~ruby def splat *args p args end def double_splat **kwargs p args end splat(*nil) # [] splat(**nil) # TypeError: no implicit conversion of nil into Hash ~~~ For the sake of consistency, wouldn't it make sense to wrap the double-splatted arg with `Hash()` the same way a single-splatted arg is wrapped with `Array()`? ---Files-------------------------------- to-hash-kwarg.patch (939 Bytes) -- https://bugs.ruby-lang.org/ Unsubscribe: