Actions
Feature #15627
openAppearance of custom singleton classes
Feature #15627:
Appearance of custom singleton classes
Status:
Open
Assignee:
-
Target version:
-
Description
When I have a singleton class AClass of an instance a of a custom class A,
class A; end
a = A.new
AClass = a.singleton_class
i) even though the singleton class of nil, false, and true are referred to by their assigned constant names, the singleton class AClass of a is not:
nil.singleton_class #=> NilClass
false.singleton_class #=> FalseClass
true.singleton_class #=> TrueClass
a.singleton_class #=> #<Class:#<A:0x00007fda832a7eb0>>
ii) even though the singleton class of nil, false, and true appear as their class, the singleton class AClass of a does not:
nil.class #=> NilClass
false.class #=> FalseClass
true.class #=> TrueClass
a.class #=> A
This contrast between nil, false, and true on the one hand and a on the other is confusing. I am actually not sure if this is intended behaviour It may be related to
I expect AClass to behave the same as with NilClass, FalseClass, and TrueClass. I expect:
a.singleton_class #=> AClass
a.class #=> AClass
If the current behaviour is intended, I would like this to become a feature request.
Actions