[#71439] [Ruby trunk - Feature #11339] [PATCH] io.c: avoid kwarg parsing in C API — matz@...
Issue #11339 has been updated by Yukihiro Matsumoto.
7 messages
2015/11/11
[#71473] Re: [Ruby trunk - Feature #11339] [PATCH] io.c: avoid kwarg parsing in C API
— Eric Wong <normalperson@...>
2015/11/13
Entire series for sockets
[#71450] Ruby 2.3.0-preview1 Released — "NARUSE, Yui" <naruse@...>
Hi,
5 messages
2015/11/11
[#71617] [Ruby trunk - Feature #11664] [PATCH] introduce rb_autoload_value to replace rb_autoload — nobu@...
Issue #11664 has been updated by Nobuyoshi Nakada.
3 messages
2015/11/20
[#71721] [Ruby trunk - Feature #11741] Migrate Ruby to Git from Subversion — me@...
Issue #11741 has been updated by Jon Moss.
4 messages
2015/11/28
[ruby-core:71655] [Ruby trunk - Bug #11544] ArgumentError: Enumerable#to_set(klass, *args, &block) if specify *args.
From:
nagachika00@...
Date:
2015-11-24 15:52:12 UTC
List:
ruby-core #71655
Issue #11544 has been updated by Tomoyuki Chikanaga.
Backport changed from 2.0.0: REQUIRED, 2.1: REQUIRED, 2.2: REQUIRED to 2.0.0: WONTFIX, 2.1: WONTFIX, 2.2: WONTFIX
----------------------------------------
Bug #11544: ArgumentError: Enumerable#to_set(klass, *args, &block) if specify *args.
https://bugs.ruby-lang.org/issues/11544#change-55060
* Author: Osamu Yamauchi
* Status: Rejected
* Priority: Normal
* Assignee: Akinori MUSHA
* ruby -v: ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-darwin14]
* Backport: 2.0.0: WONTFIX, 2.1: WONTFIX, 2.2: WONTFIX
----------------------------------------
~~~ruby
require "set"
[2,5,4,3,2,1,3].to_set(Set, 6, 7, 8) #=> ArgumentError
~~~
## Actual
~~~
/Users/torifuku/.rbenv/versions/2.2.3/lib/ruby/2.2.0/set.rb:80:in `initialize': wrong number of arguments (4 for 0..1) (ArgumentError)
from /Users/torifuku/.rbenv/versions/2.2.3/lib/ruby/2.2.0/set.rb:691:in `new'
from /Users/torifuku/.rbenv/versions/2.2.3/lib/ruby/2.2.0/set.rb:691:in `to_set'
from report.rb:3:in `<main>'
~~~
## Expected
ArgumentError should not occur.
Set instance has `1, 2, 3, 4, 5, 6, 7, 8`.
Because the below document is written about `*args`.
http://ruby-doc.org/stdlib-2.2.3/libdoc/set/rdoc/Enumerable.html
~~~ruby
to_set(klass = Set, *args, &block)
~~~
## Consideration
extract from lib/set.rb
~~~ruby
class Set
def initialize(enum = nil, &block) # no *args
...
end
end
module Enumerable
def to_set(klass = Set, *args, &block)
klass.new(self, *args, &block)
end
end
~~~
I propose this patch.
---Files--------------------------------
0001-lib-set.rb-use-args-of-Enumerable-to_set-Set-to_set.patch (3.17 KB)
--
https://bugs.ruby-lang.org/