From: ruby-core@...
Date: 2014-11-30T21:14:40+00:00
Subject: [ruby-core:66596] [ruby-trunk - Bug #10557] Block not given when the argument is a string

Issue #10557 has been updated by Marc-Andre Lafortune.

Category set to core
Priority changed from Normal to Urgent

Ouch.

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

* Author: Bartosz Kopinski
* Status: Open
* Priority: Urgent
* Assignee: 
* 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/