diff options
author | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-03-04 15:50:02 +0000 |
---|---|---|
committer | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-03-04 15:50:02 +0000 |
commit | bec0f1a6ce80868b650620f567386fc290e8d95e (patch) | |
tree | 472036742c420a3275e267876bbf1bb65920b3a5 | |
parent | b025b119c9c4d6b76e586beec6d7417dbd727b62 (diff) |
merge revision(s) 39329: [Backport #8011]
enumerator.c: suppress warnings
* enumerator.c (lazy_zip_arrays_func, lazy_zip_func, lazy_take_func),
(lazy_drop_func, lazy_drop_while_func): suppress uninitialized
instance vriable warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39587 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | enumerator.c | 10 | ||||
-rw-r--r-- | test/ruby/test_lazy_enumerator.rb | 9 | ||||
-rw-r--r-- | version.h | 2 |
3 files changed, 15 insertions, 6 deletions
diff --git a/enumerator.c b/enumerator.c index d64137e496..edaa4ad307 100644 --- a/enumerator.c +++ b/enumerator.c @@ -1631,7 +1631,7 @@ lazy_zip_arrays_func(VALUE val, VALUE arrays, int argc, VALUE *argv) long i, count; yielder = argv[0]; - memo = rb_ivar_get(yielder, id_memo); + memo = rb_attr_get(yielder, id_memo); count = NIL_P(memo) ? 0 : NUM2LONG(memo); ary = rb_ary_new2(RARRAY_LEN(arrays) + 1); @@ -1651,7 +1651,7 @@ lazy_zip_func(VALUE val, VALUE zip_args, int argc, VALUE *argv) long i; yielder = argv[0]; - arg = rb_ivar_get(yielder, id_memo); + arg = rb_attr_get(yielder, id_memo); if (NIL_P(arg)) { arg = rb_ary_new2(RARRAY_LEN(zip_args)); for (i = 0; i < RARRAY_LEN(zip_args); i++) { @@ -1708,7 +1708,7 @@ static VALUE lazy_take_func(VALUE val, VALUE args, int argc, VALUE *argv) { long remain; - VALUE memo = rb_ivar_get(argv[0], id_memo); + VALUE memo = rb_attr_get(argv[0], id_memo); if (NIL_P(memo)) { memo = args; } @@ -1791,7 +1791,7 @@ static VALUE lazy_drop_func(VALUE val, VALUE args, int argc, VALUE *argv) { long remain; - VALUE memo = rb_ivar_get(argv[0], id_memo); + VALUE memo = rb_attr_get(argv[0], id_memo); if (NIL_P(memo)) { memo = args; } @@ -1820,7 +1820,7 @@ lazy_drop(VALUE obj, VALUE n) static VALUE lazy_drop_while_func(VALUE val, VALUE args, int argc, VALUE *argv) { - VALUE memo = rb_ivar_get(argv[0], id_memo); + VALUE memo = rb_attr_get(argv[0], id_memo); if (NIL_P(memo) && !RTEST(rb_yield_values2(argc - 1, &argv[1]))) { rb_ivar_set(argv[0], id_memo, memo = Qtrue); } diff --git a/test/ruby/test_lazy_enumerator.rb b/test/ruby/test_lazy_enumerator.rb index c78a2d66cc..75f26f29b7 100644 --- a/test/ruby/test_lazy_enumerator.rb +++ b/test/ruby/test_lazy_enumerator.rb @@ -463,4 +463,13 @@ EOS end assert_equal Enumerator::Lazy, [].lazy.chunk{}.class, bug7507 end + + def test_no_warnings + le = (1..3).lazy + assert_warning("") {le.zip([4,5,6]).force} + assert_warning("") {le.zip(4..6).force} + assert_warning("") {le.take(1).force} + assert_warning("") {le.drop(1).force} + assert_warning("") {le.drop_while{false}.force} + end end @@ -1,6 +1,6 @@ #define RUBY_VERSION "2.0.0" #define RUBY_RELEASE_DATE "2013-03-05" -#define RUBY_PATCHLEVEL 16 +#define RUBY_PATCHLEVEL 17 #define RUBY_RELEASE_YEAR 2013 #define RUBY_RELEASE_MONTH 3 |