[ruby-core:70681] [Ruby trunk - Bug #11471] [Assigned] min, min_by, max, max_by with optional parameter return a wrong value

From: nagachika00@...
Date: 2015-09-08 02:46:24 UTC
List: ruby-core #70681
Issue #11471 has been updated by Tomoyuki Chikanaga.

Status changed from Open to Assigned
Assignee set to Akira Tanaka
Backport changed from 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN to 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: REQUIRED

Thank you for your report and patches.

I've confirmed that the issue exists in ruby-2.2.3 too.

akr san, please review the PR? https://github.com/ruby/ruby/pull/1005

----------------------------------------
Bug #11471: min, min_by, max, max_by with optional parameter return a wrong value
https://bugs.ruby-lang.org/issues/11471#change-54071

* Author: Tsuyoshi Sawada
* Status: Assigned
* Priority: Normal
* Assignee: Akira Tanaka
* ruby -v: 
* Backport: 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: REQUIRED
----------------------------------------
This is reported in StackOverflow: http://stackoverflow.com/questions/32121749/why-20-13-14-min2-13-20. Sometimes `min`, `min_by`, `max`, `max_by` with an optional parameter return a wrong value.

    [20, 32, 32, 21, 30, 25, 29, 13, 14].min(2) # => [13, 20]
    [20, 32, 32, 21, 30, 25, 29, 13, 14].min_by(2, &:itself) # => [13, 20]
    [0, 0, 0, 0, 0, 0, 1, 3, 2].max(2) # => [3, 1]
    [0, 0, 0, 0, 0, 0, 1, 3, 2].max_by(2, &:itself) # => [3, 1]

---Files--------------------------------
enum_nmin_filter_fix.patch (2.42 KB)


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

In This Thread

Prev Next