aboutsummaryrefslogtreecommitdiffstats
path: root/gc.c
diff options
context:
space:
mode:
Diffstat (limited to 'gc.c')
-rw-r--r--gc.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gc.c b/gc.c
index 12be1eac11..24e746e798 100644
--- a/gc.c
+++ b/gc.c
@@ -2400,6 +2400,12 @@ internal_object_p(VALUE obj)
case T_NODE:
case T_ZOMBIE:
break;
+ case T_CLASS:
+ if (!p->as.basic.klass) break;
+ if (FL_TEST(obj, FL_SINGLETON)) {
+ return rb_singleton_class_internal_p(obj);
+ }
+ return 0;
default:
if (!p->as.basic.klass) break;
return 0;