ruby-changes:25438
From: marcandre <ko1@a...>
Date: Wed, 7 Nov 2012 02:09:57 +0900 (JST)
Subject: [ruby-changes:25438] marcandRe: r37495 (trunk): * enumerator.c (enumerator_initialize): Warn when using deprecated form
marcandre 2012-11-07 02:09:43 +0900 (Wed, 07 Nov 2012) New Revision: 37495 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=37495 Log: * enumerator.c (enumerator_initialize): Warn when using deprecated form [Feature #6636] Modified files: trunk/enumerator.c trunk/test/ruby/test_enumerator.rb Index: enumerator.c =================================================================== --- enumerator.c (revision 37494) +++ enumerator.c (revision 37495) @@ -357,6 +357,7 @@ recv = generator_init(generator_allocate(rb_cGenerator), rb_block_proc()); } else { + rb_warn("Enumerator.new without a block is deprecated; use Object#to_enum"); recv = *argv++; if (--argc) { meth = *argv++; Index: test/ruby/test_enumerator.rb =================================================================== --- test/ruby/test_enumerator.rb (revision 37494) +++ test/ruby/test_enumerator.rb (revision 37495) @@ -57,7 +57,10 @@ def test_initialize assert_equal([1, 2, 3], @obj.to_enum(:foo, 1, 2, 3).to_a) - assert_equal([1, 2, 3], Enumerator.new(@obj, :foo, 1, 2, 3).to_a) + _, err = capture_io do + assert_equal([1, 2, 3], Enumerator.new(@obj, :foo, 1, 2, 3).to_a) + end + assert_match 'Enumerator.new without a block is deprecated', err assert_equal([1, 2, 3], Enumerator.new { |y| i = 0; loop { y << (i += 1) } }.take(3)) assert_raise(ArgumentError) { Enumerator.new } end -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/