Issue #9136 has been updated by atlas (Atlas Prime). 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. ---------------------------------------- misc #9136: Deprecated Enumerator.new(object, method) bad for BasicObject https://bugs.ruby-lang.org/issues/9136#change-43059 Author: atlas (Atlas Prime) Status: Open Priority: Normal Assignee: 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/