[ruby-dev:48102] [ruby-trunk - Bug #9727] [Closed] Array#reject aborts with callcc
From:
nobu@...
Date:
2014-04-11 03:45:02 UTC
List:
ruby-dev #48102
Issue #9727 has been updated by Nobuyoshi Nakada.
Status changed from Open to Closed
% Done changed from 0 to 100
Applied in changeset r45562.
----------
array.c: maybe shared array
* array.c (ary_reject): may be turned into a shared array during
the given block. [ruby-dev:48101] [Bug #9727]
----------------------------------------
Bug #9727: Array#reject aborts with callcc
https://bugs.ruby-lang.org/issues/9727#change-46149
* Author: Nobuyoshi Nakada
* Status: Closed
* Priority: Normal
* Assignee:
* Category: core
* Target version: current: 2.2.0
* ruby -v: r45560
* Backport: 2.0.0: REQUIRED, 2.1: REQUIRED
----------------------------------------
2.0.0以降で、以下のコードが異常終了します。
~~~ruby
require 'continuation'
cont = nil
a = [*1..10].reject do |i|
callcc{|c| cont = c} if !cont and i == 10
false
end
a.unshift(:x)
cont.call if a.size < 1000
~~~
--
https://bugs.ruby-lang.org/