message: faster test by unpublishing all at once
diff: @@ -75,13 +75,13 @@ proptest! {
  .filter(|x| !r.contains(x.package_id()))
  .collect();
  if !not_selected.is_empty() {
  - for index_to_unpublish in &indexs_to_unpublish {
  - let summary_to_unpublish = index_to_unpublish.get(&not_selected);
  + let indexs_to_unpublish: Vec<_> = indexs_to_unpublish.iter().map(|x| x.get(&not_selected)).collect();
  +
  let new_reg = registry(
  input
  .iter()
  .cloned()
  - .filter(|x| summary_to_unpublish != x)
  + .filter(|x| !indexs_to_unpublish.contains(&x))
  .collect(),
  );
  @@ -99,24 +99,23 @@ proptest! {
  prop_assert!(
  res.is_ok(),
  "unpublishing {:?} stopped `{} = \"={}\"` from working",
  - summary_to_unpublish.package_id(),
  + indexs_to_unpublish.iter().map(|x| x.package_id()).collect::<Vec<_>>(),
  this.name(),
  this.version()
  )
  }
  }
  - }
  Err(_) => {
  // If resolution was unsuccessful, then it should stay unsuccessful
  // even if any version of a crate is unpublished.
  - for index_to_unpublish in &indexs_to_unpublish {
  - let summary_to_unpublish = index_to_unpublish.get(&input);
  + let indexs_to_unpublish: Vec<_> = indexs_to_unpublish.iter().map(|x| x.get(&input)).collect();
  +
  let new_reg = registry(
  input
  .iter()
  .cloned()
  - .filter(|x| summary_to_unpublish != x)
  + .filter(|x| !indexs_to_unpublish.contains(&x))
  .collect(),
  );
  @@ -131,14 +130,13 @@ proptest! {
  "full index did not work for `{} = \"={}\"` but unpublishing {:?} fixed it!",
  this.name(),
  this.version(),
  - summary_to_unpublish.package_id()
  + indexs_to_unpublish.iter().map(|x| x.package_id()).collect::<Vec<_>>(),
  )
  }
  }
  }
  }
  }
  -}
  #[test]
  #[should_panic(expected = "assertion failed: !name.is_empty()")]
  