diff options
| author | Peter Zhu <peter@peterzhu.ca> | 2024-04-05 16:14:24 -0400 |
|---|---|---|
| committer | Peter Zhu <peter@peterzhu.ca> | 2024-04-05 16:15:33 -0400 |
| commit | 37490474c4bd45572c0bb35506dc6e032c8ebfd2 (patch) | |
| tree | 47c44d367b4d0ee201e4d2f36159886aea50b3d0 | |
| parent | e50590a54163b5f88dc78b33e7d06bc428cad25a (diff) | |
Assert that rb_sym2str returns 0 or a T_STRING
| -rw-r--r-- | symbol.c | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -953,12 +953,17 @@ rb_id2sym(ID x) VALUE rb_sym2str(VALUE sym) { + VALUE str; if (DYNAMIC_SYM_P(sym)) { - return RSYMBOL(sym)->fstr; + str = RSYMBOL(sym)->fstr; + RUBY_ASSERT(BUILTIN_TYPE(str) == T_STRING); } else { - return rb_id2str(STATIC_SYM2ID(sym)); + str = rb_id2str(STATIC_SYM2ID(sym)); + RUBY_ASSERT(str == 0 || BUILTIN_TYPE(str) == T_STRING); } + + return str; } VALUE |
