diff options
Diffstat (limited to 'include/ruby/internal')
| -rw-r--r-- | include/ruby/internal/fl_type.h | 3 | ||||
| -rw-r--r-- | include/ruby/internal/intern/error.h | 1 |
2 files changed, 3 insertions, 1 deletions
diff --git a/include/ruby/internal/fl_type.h b/include/ruby/internal/fl_type.h index 16e0dfe139..eb212db7dc 100644 --- a/include/ruby/internal/fl_type.h +++ b/include/ruby/internal/fl_type.h @@ -916,6 +916,9 @@ static inline void RB_OBJ_FREEZE_RAW(VALUE obj) { RB_FL_SET_RAW(obj, RUBY_FL_FREEZE); + if (TYPE(obj) == T_STRING) { + RB_FL_UNSET_RAW(obj, FL_USER3); // STR_CHILLED + } } RUBY_SYMBOL_EXPORT_BEGIN diff --git a/include/ruby/internal/intern/error.h b/include/ruby/internal/intern/error.h index bf8daadd3e..11e147a121 100644 --- a/include/ruby/internal/intern/error.h +++ b/include/ruby/internal/intern/error.h @@ -190,7 +190,6 @@ RBIMPL_ATTR_NONNULL(()) */ void rb_error_frozen(const char *what); -RBIMPL_ATTR_NORETURN() /** * Identical to rb_error_frozen(), except it takes arbitrary Ruby object * instead of C's string. |
