[ruby-core:66896] [ruby-trunk - Bug #10557] Block not given when the argument is a string

From: ko1@...
Date: 2014-12-17 00:41:28 UTC
List: ruby-core #66896
Issue #10557 has been updated by Koichi Sasada.


 On 2014/12/17 6:12, Eric Wong wrote:
 > I think the following should fix it, OK to commit?
 
 OK. Thank you.
 
 -- 
 // SASADA Koichi at atdot dot net

----------------------------------------
Bug #10557: Block not given when the argument is a string
https://bugs.ruby-lang.org/issues/10557#change-50446

* Author: Bartosz Kopinski
* Status: Open
* Priority: Urgent
* Assignee: Koichi Sasada
* Category: core
* Target version: current: 2.2.0
* ruby -v: ruby 2.2.0dev (2014-11-30 trunk 48655) [x86_64-darwin14]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN
----------------------------------------
This seems really weird and random. Can anyone else confirm it's bug?

```ruby
class Klass
  def [](_)
    block_given?
  end
end

# ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-darwin14.0]
Klass.new.[](nil){ }    # => true
Klass.new.[](0){ }      # => true
Klass.new.[](false){ }  # => true
Klass.new.[](''){ }     # => true

# ruby 2.2.0dev (2014-11-30 trunk 48655) [x86_64-darwin14]
Klass.new.[](nil){ }    # => true
Klass.new.[](0){ }      # => true
Klass.new.[](false){ }  # => true
Klass.new.[](''){ }     # => false
```



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

In This Thread

Prev Next