Namespaces: Don't initialize fields for T_ICLASS
ICLASS don't have instance variables or anything like that. `gc_mark_classext_iclass` didn't mark it, and `classext_iclass_free` wasn't freeing it.
This commit is contained in:
parent
ec41b1e823
commit
f18883b295
Notes:
git
2025-05-22 10:10:24 +00:00
4
class.c
4
class.c
@ -278,10 +278,12 @@ class_duplicate_iclass_classext(VALUE iclass, rb_classext_t *mod_ext, const rb_n
|
||||
else {
|
||||
RCLASSEXT_M_TBL(ext) = RCLASSEXT_M_TBL(mod_ext);
|
||||
}
|
||||
RCLASSEXT_FIELDS(ext) = (VALUE *)st_init_numtable();
|
||||
|
||||
RCLASSEXT_CONST_TBL(ext) = RCLASSEXT_CONST_TBL(mod_ext);
|
||||
RCLASSEXT_CVC_TBL(ext) = RCLASSEXT_CVC_TBL(mod_ext);
|
||||
|
||||
RUBY_ASSERT(!RCLASSEXT_FIELDS(mod_ext));
|
||||
|
||||
// Those are cache and should be recreated when methods are called
|
||||
// RCLASSEXT_CALLABLE_M_TBL(ext) = NULL;
|
||||
// RCLASSEXT_CC_TBL(ext) = NULL;
|
||||
|
Loading…
x
Reference in New Issue
Block a user