[#47135] [ruby-trunk - Feature #8024][Assigned] Lazy sweep を on/off するための機能 — "mrkn (Kenta Murata)" <muraken@...>

16 messages 2013/03/06

[ruby-dev:47131] [ruby-trunk - Bug #8010][Open] Enumerator#with_index(large_number)

From: "znz (Kazuhiro NISHIYAMA)" <redmine@...>
Date: 2013-03-04 11:18:04 UTC
List: ruby-dev #47131
Issue #8010 has been reported by znz (Kazuhiro NISHIYAMA).

----------------------------------------
Bug #8010: Enumerator#with_index(large_number)
https://bugs.ruby-lang.org/issues/8010

Author: znz (Kazuhiro NISHIYAMA)
Status: Open
Priority: Normal
Assignee: 
Category: core
Target version: 
ruby -v: ruby 2.1.0dev (2013-03-04 trunk 39580) [x86_64-linux]


Enumerator#with_index の引数で大きな数を指定するとマイナスになったり例外になったりするのはバグでしょうか?

% ruby -ve 'p 3.times.with_index(1<<61).to_a'
ruby 2.1.0dev (2013-03-04 trunk 39580) [x86_64-linux]
[[0, 2305843009213693952], [1, 2305843009213693953], [2, 2305843009213693954]]
% ruby -ve 'p 3.times.with_index(1<<62).to_a'
ruby 2.1.0dev (2013-03-04 trunk 39580) [x86_64-linux]
[[0, -4611686018427387904], [1, -4611686018427387903], [2, -4611686018427387902]]
% ruby -ve 'p 3.times.with_index(1<<63).to_a'
ruby 2.1.0dev (2013-03-04 trunk 39580) [x86_64-linux]
-e:1:in `with_index': bignum too big to convert into `long' (RangeError)
        from -e:1:in `each'
        from -e:1:in `to_a'
        from -e:1:in `<main>'



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

In This Thread

Prev Next