Actions
Bug #11445
closedRuby 1.9.3 - StringIO clone method creates new instance but somehow connected with the original instance
Status:
Rejected
Assignee:
-
Target version:
-
ruby -v:
ruby 1.9.3p551 (2014-11-13 revision 48407) [x86_64-linux]
Backport:
Description
In Ruby 1.9.3 cloned StringIO
instance has influence on close state of original instance:
require 'stringio'
sio1 = StringIO.new( 'abc' )
sio2 = sio1.clone
sio2.read
sio1.pos # => 3, expected 0
sio2.close
sio1.closed? # => true, expected false
If File
is used instead of StringIO
, close state is not shared between instances (position is).
This behaviour has changed in Ruby 2.0.0 (cloned StringIO
instance does not close original instance).
It matters what definition for IO
clone is, whether to share attributes (e.g. pos
) and/or state (closed?
) but the later is acting differently in 1.9.3 for StringIO
and File
.
Updated by nobu (Nobuyoshi Nakada) over 9 years ago
- Description updated (diff)
- Status changed from Open to Rejected
1.9 has finished.
Actions
Like0
Like0