From d3f1c615c5b81319e422e9c92e1cb8ba82209fba Mon Sep 17 00:00:00 2001 From: Yusuke Endoh Date: Thu, 23 May 2019 00:15:55 +0900 Subject: hash.c (rb_hash_s_create): Reject `Hash[[nil]]` The behavior of `Hash[[nil]] #=> {}` was a bug until 1.9.3, but had been remained with a warning because some programs depended upon it. Now, six years passed. We can remove the compatibility behavior. [Bug #7300] --- hash.c | 9 --------- 1 file changed, 9 deletions(-) (limited to 'hash.c') diff --git a/hash.c b/hash.c index b4b0415c84..2982afad9d 100644 --- a/hash.c +++ b/hash.c @@ -1656,17 +1656,8 @@ rb_hash_s_create(int argc, VALUE *argv, VALUE klass) VALUE key, val = Qnil; if (NIL_P(v)) { -#if 0 /* refix in the next release */ rb_raise(rb_eArgError, "wrong element type %s at %ld (expected array)", rb_builtin_class_name(e), i); - -#else - rb_warn("wrong element type %s at %ld (expected array)", - rb_builtin_class_name(e), i); - rb_warn("ignoring wrong elements is deprecated, remove them explicitly"); - rb_warn("this causes ArgumentError in the next release"); - continue; -#endif } switch (RARRAY_LEN(v)) { default: -- cgit v1.2.3