Project

General

Profile

Actions

Bug #7837

closed

IO.open with three arguments where third argument is bogus reports an arity problem instead of type problem

Added by enebo (Thomas Enebo) about 11 years ago. Updated about 11 years ago.

Status:
Rejected
Assignee:
-
Target version:
ruby -v:
ruby 2.0.0dev (2013-02-08 trunk 39161) [x86_64-darwin11.4.2]
Backport:
[ruby-core:52162]

Description

I am reporting this against 2.0.rc2 but it also applies to mri 1.9.3. If I run the following one-liner:

mri20 -e 'f = File.open("tmp"); IO.open(f.fileno, "r", :heh)'

I get the error:

-e:1:in `initialize': wrong number of arguments (3 for 1..2) (ArgumentError)

This seems wrong because if I change the third argument to an options hash it works fine. So having an arity of 3 is not a problem for open. It is that :heh is not a hash. I think this should generate a TypeError.

Actions

Also available in: Atom PDF

Like0
Like0Like0