Make Namespace::Root TypedData inherit from Namespace::Entry

The two types of TypedData objects should be treated the same except for
the free function. Since Namespace::Root did not inherit from Namespace::Entry,
all the TypedData_Get_Struct calls for Namespace::Root would raise
"wrong argument type Namespace::Root (expected Namespace::Entry)".
This commit is contained in:
Peter Zhu 2025-10-23 09:45:20 -04:00
parent 6dc879f9d6
commit b3fb91f4d1
Notes: git 2025-10-23 16:54:54 +00:00

View File

@ -268,7 +268,7 @@ const rb_data_type_t rb_root_namespace_data_type = {
namespace_entry_memsize,
rb_namespace_gc_update_references,
},
0, 0, RUBY_TYPED_FREE_IMMEDIATELY // TODO: enable RUBY_TYPED_WB_PROTECTED when inserting write barriers
&rb_namespace_data_type, 0, RUBY_TYPED_FREE_IMMEDIATELY // TODO: enable RUBY_TYPED_WB_PROTECTED when inserting write barriers
};
VALUE