Project

General

Profile

Actions

Bug #22021

closed

Array#delete_if may delete wrong object if array has been altered already

Bug #22021: Array#delete_if may delete wrong object if array has been altered already

Added by chucke (Tiago Cardoso) about 1 month ago. Updated about 1 month ago.

Status:
Rejected
Assignee:
-
Target version:
-
[ruby-core:125397]

Description

The simplest example I can come up with:

$ar = ar = [1, 2, 3, 4, 5]

def del(i)
  $ar.delete(i)
end

ar.delete_if { |e| e == 2 ? (del(e) && true) : false }

p ar #=> [1, 4, 5], and it should be [1, 3, 4, 5]
Actions

Also available in: PDF Atom