Project

General

Profile

Actions

Bug #19441

closed

Closing an Tempfile#dup behaviour

Added by stac47 (Laurent Stacul) about 1 year ago. Updated 6 months ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 3.2.1 (2023-02-08 revision 31819e82c8) [x86_64-darwin20]
[ruby-core:112445]

Description

Hello amazing ruby folks!

I classified that ticket as a "Bug" although it is perhaps something I did not understand.

Here is a ruby session:

irb(main):001:0> file = Tempfile.new
=> #<File:/var/folders/m2/bljzrgq160vbf0vk466k_7gw0000gn/T/20230216-39664-davfmj>
irb(main):002:0> file.fileno
=> 9
irb(main):003:0> dup = file.dup
=> #<File:/var/folders/m2/bljzrgq160vbf0vk466k_7gw0000gn/T/20230216-39664-davfmj>
irb(main):004:0> dup.fileno
=> 10
irb(main):005:0> dup.close
=> nil
irb(main):006:0> dup.closed?
=> false
irb(main):007:0> file.closed?
=> true

The two last lines are unexpected to me. I would have expected the converse:

irb(main):006:0> dup.closed?
=> true
irb(main):007:0> file.closed?
=> false

I tried this scenario in latest ruby but also in ruby 2.7.

Thanks in advance for helping me to understand this behaviour.

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0