diff --git a/compile.c b/compile.c index dfa3802579..4a4c276c4f 100644 --- a/compile.c +++ b/compile.c @@ -8965,7 +8965,11 @@ insn_data_to_s_detail(INSN *iobj) case TS_VALUE: /* VALUE */ { VALUE v = OPERAND_AT(iobj, j); - rb_str_concat(str, opobj_inspect(v)); + if (!CLASS_OF(v)) + rb_str_cat2(str, ""); + else { + rb_str_concat(str, opobj_inspect(v)); + } break; } case TS_ID: /* ID */ @@ -9001,7 +9005,7 @@ insn_data_to_s_detail(INSN *iobj) } break; case TS_BUILTIN: - rb_bug("unsupported: TS_BUILTIN"); + rb_str_cat2(str, ""); break; default:{ rb_raise(rb_eSyntaxError, "unknown operand type: %c", type);