Issue #10506 has been updated by Marc-Andre Lafortune. Category set to core Assignee set to Yukihiro Matsumoto Target version set to Next Major It probably should have returned an enumerator, but that wasn't as systematic then. The problem with your proposal is breaking compatibility. I'm quite certainthis will be rejected, but I'll let Matz do it. In the meantime, know that it is easy to get what you want in most cases. For example: [].each_with_index.any?{ |obj, index| } You can also use `to_enum` to get what you want: [].to_enum(:any?).with_index{ |obj, index| } ---------------------------------------- Feature #10506: Imprve Enumerator.any? behavior https://bugs.ruby-lang.org/issues/10506#change-49938 * Author: Thomas Sevestre * Status: Open * Priority: Normal * Assignee: Yukihiro Matsumoto * Category: core * Target version: Next Major ---------------------------------------- IMHO the API `Enumerable.any?` behavior could be improved in the following manner: any? { |obj| block } вк true or false any? вк an_enumerator This would allow to do things like [].any?.with_index { |obj, index| } And it would be more consistent with collect and other Enumerable functions: collect { |obj| block } вк array collect вк an_enumerator -- https://bugs.ruby-lang.org/