diff options
| -rw-r--r-- | src/hash.c | 2 | ||||
| -rw-r--r-- | test/t/hash.rb | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/src/hash.c b/src/hash.c index c30a8dec4..3b5d17761 100644 --- a/src/hash.c +++ b/src/hash.c @@ -1506,7 +1506,7 @@ mrb_hash_shift(mrb_state *mrb, mrb_value hash) hash_modify(mrb, hash); if (h_size(h) == 0) { - return hash_default(mrb, hash, mrb_nil_value()); + return mrb_nil_value(); } else { mrb_value del_key, del_val; diff --git a/test/t/hash.rb b/test/t/hash.rb index a5e51d83b..9bc2668ae 100644 --- a/test/t/hash.rb +++ b/test/t/hash.rb @@ -775,7 +775,7 @@ assert('Hash#shift', '15.2.13.4.24') do assert_equal(0, h.size) h.default = -456 - assert_equal(-456, h.shift) + assert_equal(nil, h.shift) assert_equal(0, h.size) h.freeze @@ -783,8 +783,8 @@ assert('Hash#shift', '15.2.13.4.24') do end h = Hash.new{|h, k| [h, k]} - assert_operator(h.shift, :eql?, [h, nil]) assert_equal(0, h.size) + assert_equal(nil, h.shift) end # Not ISO specified |
