From: "marcandre (Marc-Andre Lafortune)" <ruby-core@...> Date: 2013-01-22T18:52:35+09:00 Subject: [ruby-core:51565] [ruby-trunk - Bug #7726][Open] bsearch should handle block result in a consistent way Issue #7726 has been reported by marcandre (Marc-Andre Lafortune). ---------------------------------------- Bug #7726: bsearch should handle block result in a consistent way https://bugs.ruby-lang.org/issues/7726 Author: marcandre (Marc-Andre Lafortune) Status: Open Priority: Normal Assignee: Category: core Target version: 2.0.0 ruby -v: r38825 The documentation states that the block of bsearch must return either true/false or a number. If the block returns another object (other than nil), I feel that either 1) It should be considered as 'truthy' 2) It should raise a TypeError Currently it does not raise an error and returns a result different than if `true` was passed: (1..3).bsearch{ 'x' } == (1..3).bsearch{ true } # => false -- http://bugs.ruby-lang.org/