class RSpec::Core::Bisect::SubsetEnumerator

def each

def each
  yielded     = Set.new
  slice_size  = subset_size
  combo_count = 1
  while slice_size > 0
    @ids.each_slice(slice_size).to_a.combination(combo_count) do |combos|
      subset = combos.flatten
      next if yielded.include?(subset)
      yield subset
      yielded << subset
    end
    slice_size  /= 2
    combo_count *= 2
  end
end