# File lib/rubygems/specification.rb, line 515
  def self.latest_specs prerelease = false
    result = Hash.new { |h,k| h[k] = {} }
    native = {}

    Gem::Specification._all.reverse_each do |spec|
      next if spec.version.prerelease? unless prerelease

      native[spec.name] = spec.version if spec.platform == Gem::Platform::RUBY
      result[spec.name][spec.platform] = spec
    end

    result.map(&:last).map(&:values).flatten.reject { |spec|
      minimum = native[spec.name]
      minimum && spec.version < minimum
    }
  end