Issue #13257 has been updated by Satoshi TAGOMORI.


After chat with narse, I found that what I really want is the list of classes and modules on method search path of objects (nearly equal to `obj.singleton_class.ancestors`).
If I can get it without creating/allocating singleton classes, it's nice to me.

I missed to think about BasicObject instances, but it's out of our scope in this use case.

----------------------------------------
Bug #13257: Symbol#singleton_class should be undef
https://bugs.ruby-lang.org/issues/13257#change-63305

* Author: Satoshi TAGOMORI
* Status: Feedback
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-darwin15]
* Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN
----------------------------------------
Objects of some classes doesn't have singleton classes (e.g., Symbol, Integer, Float...).
Symbol#singleton_class raises TypeError.

But Symbol#respond_to?(:singleton_class) returns true, and we cannot know when #singleton_class returns a valid class or raise errors in any way (except for calling it).

I think that such #singleton_class methods should be undef.



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>