summaryrefslogtreecommitdiff
path: root/shape.c
diff options
context:
space:
mode:
authorHaldun Bayhantopcu <haldun@github.com>2023-02-15 22:40:16 +0100
committerAaron Patterson <aaron.patterson@gmail.com>2023-02-15 15:43:46 -0800
commitb03b251aa4b4a7098721f3497f519f1b3e930f62 (patch)
tree233ba5f3029c7707b46d93da0ac3763cc786e16e /shape.c
parent0b4b2cd1ee161f2875375181e0978d7757e25c8a (diff)
downloadruby-b03b251aa4b4a7098721f3497f519f1b3e930f62.tar.gz
Handle all non-object type objects
Diffstat (limited to 'shape.c')
-rw-r--r--shape.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/shape.c b/shape.c
index 6852a8d554..0e21d8a921 100644
--- a/shape.c
+++ b/shape.c
@@ -239,7 +239,7 @@ remove_shape_recursive(VALUE obj, ID id, rb_shape_t * shape, VALUE * removed)
if (new_parent) {
bool dont_care;
enum ruby_value_type type = BUILTIN_TYPE(obj);
- bool new_shape_necessary = type == T_CLASS || type == T_MODULE;
+ bool new_shape_necessary = type != T_OBJECT;
rb_shape_t * new_child = get_next_shape_internal(new_parent, shape->edge_name, shape->type, &dont_care, true, new_shape_necessary);
new_child->capacity = shape->capacity;
if (new_child->type == SHAPE_IVAR) {