From: "zzak (Zachary Scott)" Date: 2013-11-21T22:45:55+09:00 Subject: [ruby-core:58466] [ruby-trunk - misc #9136][Assigned] Deprecated Enumerator.new(object, method) bad for BasicObject Issue #9136 has been updated by zzak (Zachary Scott). Status changed from Open to Assigned Assignee set to zzak (Zachary Scott) ---------------------------------------- misc #9136: Deprecated Enumerator.new(object, method) bad for BasicObject https://bugs.ruby-lang.org/issues/9136#change-43061 Author: atlas (Atlas Prime) Status: Assigned Priority: Normal Assignee: zzak (Zachary Scott) Category: core Target version: =begin Documentation it says: ((*In the second, deprecated, form, a generated Enumerator iterates over the given object using the given method with the given arguments passed. Use of this form is discouraged. Use Kernel#enum_for or Kernel#to_enum instead. *)) (({ e = Enumerator.new(ObjectSpace, :each_object) #-> ObjectSpace.enum_for(:each_object) })) But #enum_for and #to_enum are not available to subclasses of BasicObject. In fact, I was defining #to_enum for a class that is a subclass of BasicObject, and now I get warning of deprecation. =end -- http://bugs.ruby-lang.org/