message: Refactor checking loop to iterator.collect()
diff: @@ -1237,8 +1237,9 @@ impl<'cfg> Workspace<'cfg> {
  }
  }
  - let mut result = Vec::new();
  - for member in self.members() {
  + let result: Vec<_> = self
  + .members()
  + .filter_map(|member| {
  let member_id = member.package_id();
  match self.current_opt() {
  // The features passed on the command-line only apply to
  @@ -1250,7 +1251,7 @@ impl<'cfg> Workspace<'cfg> {
  uses_default_features: cli_features.uses_default_features,
  };
  - result.push((member, feats))
  + Some((member, feats))
  }
  _ => {
  // Ignore members that are not enabled on the command-line.
  @@ -1288,13 +1289,15 @@ impl<'cfg> Workspace<'cfg> {
  all_features: cli_features.all_features,
  };
  - result.push((member, feats))
  + Some((member, feats))
  } else {
  // This member was not requested on the command-line, skip.
  + None
  }
  }
  }
  - }
  + })
  + .collect();
  // If any member specific features were not removed while iterating over members
  if !member_specific_features.is_empty() {
  