Bug #11063 ยป special_singletons.patch
| object.c | ||
|---|---|---|
| static VALUE | ||
| rb_mod_singleton_p(VALUE klass) | ||
| { | ||
|     if (RB_TYPE_P(klass, T_CLASS) && FL_TEST(klass, FL_SINGLETON)) | ||
|     if (RB_TYPE_P(klass, T_CLASS) && (FL_TEST(klass, FL_SINGLETON) || klass == rb_cNilClass || klass == rb_cTrueClass || klass == rb_cFalseClass)) | ||
| 	return Qtrue; | ||
|     return Qfalse; | ||
| } | ||
| test/ruby/test_class.rb | ||
|---|---|---|
|     feature7609 = '[ruby-core:51087] [Feature #7609]' | ||
|     assert_predicate(self.singleton_class, :singleton_class?, feature7609) | ||
|     assert_not_predicate(self.class, :singleton_class?, feature7609) | ||
|     assert NilClass.singleton_class? | ||
|   end | ||
|   def test_freeze_to_s | ||