From: matz@... Date: 2016-08-09T06:13:45+00:00 Subject: [ruby-core:76774] [Ruby trunk Feature#12374][Closed] SingletonClass Issue #12374 has been updated by Yukihiro Matsumoto. Status changed from Feedback to Closed I don't think the idea itself is meaningless. But its use-case is not clear to us yet. (For the record, Singleton module is totally different story.) If you have any real-world use-case, please reopen the issue. Matz. ---------------------------------------- Feature #12374: SingletonClass https://bugs.ruby-lang.org/issues/12374#change-59997 * Author: Tsuyoshi Sawada * Status: Closed * Priority: Normal * Assignee: ---------------------------------------- I propose to have a class `SingletonClass`, a subclass of the class `Class`, to which all singleton classes belong. It should be the owner of all the properties that are specific to singleton classes. Also, the methods defined on `Singleton` module should be moved to this class. Reasons are as follows: 1. I was thinking that the reason #12084 hasn't been seen positively may be because the developers do not want to define a method only on limited instances of a class. If we have `SingletonClass`, the method `#instance` proposed in #12084 could be defined as an instance method of `SingletonClass`. 2. The way to introduce the singleton pattern using the `Singleton` module (http://ruby-doc.org/stdlib-2.3.0/libdoc/singleton/rdoc/Singleton.html): ~~~ruby class A include Singleton # ... end ~~~ is a bit unnatural and verbose. If we have `SingletonClass`, then we can define a singleton class more naturally: ~~~ruby A = SingletonClass.new ~~~ -- https://bugs.ruby-lang.org/ Unsubscribe: