From: "marcandre (Marc-Andre Lafortune)" Date: 2013-02-18T12:05:56+09:00 Subject: [ruby-core:52426] [ruby-trunk - Bug #7755] JSON::Generate#configure's argument conversion Issue #7755 has been updated by marcandre (Marc-Andre Lafortune). Filed as https://github.com/flori/json/issues/162 ---------------------------------------- Bug #7755: JSON::Generate#configure's argument conversion https://bugs.ruby-lang.org/issues/7755#change-36482 Author: marcandre (Marc-Andre Lafortune) Status: Open Priority: Low Assignee: naruse (Yui NARUSE) Category: ext Target version: next minor ruby -v: r38977 I notice a tiny bug in ext/json/generator/generator.c:514 tmp = rb_convert_type(opts, T_HASH, "Hash", "to_hash"); if (NIL_P(tmp)) tmp = rb_convert_type(opts, T_HASH, "Hash", "to_h"); if (NIL_P(tmp)) { rb_raise(rb_eArgError, "opts has to be hash like or convertable into a hash"); } opts = tmp; Bug is that rb_convert_type never returns nil. Either both rb_convert_type are changed to rb_check_convert_type, or these lines are simply replaced by: opts = rb_convert_type(opts, T_HASH, "Hash", "to_hash"); I'd recommend this last option, for consistency with the rest of MRI. -- http://bugs.ruby-lang.org/