[#67346] Future of test suites for Ruby — Charles Oliver Nutter <headius@...>

I'll try to be brief so we can discuss all this. tl;dr: RubySpec is

19 messages 2015/01/05

[ruby-core:67401] [ruby-trunk - Bug #10708] In a function call, double splat of an empty hash still calls the function with an argument

From: sawadatsuyoshi@...
Date: 2015-01-07 20:43:47 UTC
List: ruby-core #67401
Issue #10708 has been updated by Tsuyoshi Sawada.


Do you mean `**others`?

----------------------------------------
Bug #10708: In a function call, double splat of an empty hash still calls the function with an argument
https://bugs.ruby-lang.org/issues/10708#change-50837

* Author: Damien Robert
* Status: Open
* Priority: Normal
* Assignee: 
* Category: 
* Target version: 
* ruby -v: ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-linux]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
----------------------------------------
Consider this:
    def foo; end
    foo(*[]) #Splatting an empty list is ok
    foo(**{}) #Double splatting an empty hash is like calling foo({}) which gives an error

This is annoying in a function that is a wrapper around another function and just process some keywords:
    def wrapper(*args, keyword: true, **others)
      puts keyword
      wrappee(*args,**others) #here this code will fail if others is empty
    end



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

In This Thread

Prev Next