aboutsummaryrefslogtreecommitdiff
path: root/xtask/src/argument_parsing.rs
diff options
context:
space:
mode:
Diffstat (limited to 'xtask/src/argument_parsing.rs')
-rw-r--r--xtask/src/argument_parsing.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/xtask/src/argument_parsing.rs b/xtask/src/argument_parsing.rs
index 7284fc5..e653f9a 100644
--- a/xtask/src/argument_parsing.rs
+++ b/xtask/src/argument_parsing.rs
@@ -275,12 +275,22 @@ pub struct PackageOpt {
}
impl PackageOpt {
+ #[cfg(not(feature = "rayon"))]
pub fn packages(&self) -> impl Iterator<Item = Package> {
self.package
.map(|p| vec![p])
.unwrap_or(Package::all())
.into_iter()
}
+
+ #[cfg(feature = "rayon")]
+ pub fn packages(&self) -> impl rayon::prelude::ParallelIterator<Item = Package> {
+ use rayon::prelude::*;
+ self.package
+ .map(|p| vec![p])
+ .unwrap_or(Package::all())
+ .into_par_iter()
+ }
}
#[derive(Args, Debug, Clone)]