Skip to content

Commit 069699e

Browse files
committed
Remove Kind::SkipAsPrivate
1 parent d74e3f7 commit 069699e

File tree

1 file changed

+20
-18
lines changed

1 file changed

+20
-18
lines changed

src/main.rs

+20-18
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,6 @@ struct Progress {
148148
}
149149

150150
enum Kind<'a> {
151-
SkipAsPrivate,
152151
Normal,
153152
Each { features: Vec<&'a Feature> },
154153
Powerset { features: Vec<Vec<&'a Feature>> },
@@ -159,15 +158,15 @@ fn determine_kind<'a>(
159158
id: &PackageId,
160159
progress: &mut Progress,
161160
multiple_packages: bool,
162-
) -> Kind<'a> {
161+
) -> Option<Kind<'a>> {
163162
assert!(cx.subcommand.is_some());
164163
if cx.ignore_private && cx.is_private(id) {
165164
info!("skipped running on private package `{}`", cx.name_verbose(id));
166-
return Kind::SkipAsPrivate;
165+
return None;
167166
}
168167
if !cx.each_feature && !cx.feature_powerset {
169168
progress.total += 1;
170-
return Kind::Normal;
169+
return Some(Kind::Normal);
171170
}
172171

173172
let package = cx.packages(id);
@@ -227,14 +226,14 @@ fn determine_kind<'a>(
227226
&& features.is_empty()
228227
{
229228
progress.total += 1;
230-
Kind::Normal
229+
Some(Kind::Normal)
231230
} else {
232231
progress.total += features.len()
233232
+ !cx.exclude_no_default_features as usize
234233
+ (!cx.exclude_all_features
235234
&& pkg_features.normal().len() + pkg_features.optional_deps().len() > 1)
236235
as usize;
237-
Kind::Each { features }
236+
Some(Kind::Each { features })
238237
}
239238
} else if cx.feature_powerset {
240239
let features =
@@ -245,14 +244,14 @@ fn determine_kind<'a>(
245244
&& features.is_empty()
246245
{
247246
progress.total += 1;
248-
Kind::Normal
247+
Some(Kind::Normal)
249248
} else {
250249
progress.total += features.len()
251250
+ !cx.exclude_no_default_features as usize
252251
+ (!cx.exclude_all_features
253252
&& pkg_features.normal().len() + pkg_features.optional_deps().len() > 1)
254253
as usize;
255-
Kind::Powerset { features }
254+
Some(Kind::Powerset { features })
256255
}
257256
} else {
258257
unreachable!()
@@ -276,7 +275,9 @@ fn determine_package_list<'a>(
276275
let multiple_packages = cx.workspace_members().len().saturating_sub(cx.exclude.len()) > 1;
277276
cx.workspace_members()
278277
.filter(|id| !cx.exclude.contains(&cx.packages(id).name))
279-
.map(|id| (id, determine_kind(cx, id, progress, multiple_packages)))
278+
.filter_map(|id| {
279+
determine_kind(cx, id, progress, multiple_packages).map(|kind| (id, kind))
280+
})
280281
.collect()
281282
} else if !cx.package.is_empty() {
282283
if let Some(spec) = cx
@@ -290,19 +291,25 @@ fn determine_package_list<'a>(
290291
let multiple_packages = cx.package.len() > 1;
291292
cx.workspace_members()
292293
.filter(|id| cx.package.contains(&cx.packages(id).name))
293-
.map(|id| (id, determine_kind(cx, id, progress, multiple_packages)))
294+
.filter_map(|id| {
295+
determine_kind(cx, id, progress, multiple_packages).map(|kind| (id, kind))
296+
})
294297
.collect()
295298
} else if cx.current_package().is_none() {
296299
let multiple_packages = cx.workspace_members().len() > 1;
297300
cx.workspace_members()
298-
.map(|id| (id, determine_kind(cx, id, progress, multiple_packages)))
301+
.filter_map(|id| {
302+
determine_kind(cx, id, progress, multiple_packages).map(|kind| (id, kind))
303+
})
299304
.collect()
300305
} else {
301306
let current_package = &cx.packages(cx.current_package().unwrap()).name;
302307
let multiple_packages = false;
303308
cx.workspace_members()
304309
.find(|id| cx.packages(id).name == *current_package)
305-
.map(|id| vec![(id, determine_kind(cx, id, progress, multiple_packages))])
310+
.and_then(|id| {
311+
determine_kind(cx, id, progress, multiple_packages).map(|kind| vec![(id, kind)])
312+
})
306313
.unwrap_or_default()
307314
})
308315
}
@@ -344,10 +351,6 @@ fn exec_on_package(
344351
progress: &mut Progress,
345352
keep_going: &mut KeepGoing,
346353
) -> Result<()> {
347-
if let Kind::SkipAsPrivate = kind {
348-
return Ok(());
349-
}
350-
351354
let package = cx.packages(id);
352355

353356
let mut line = line.clone();
@@ -366,7 +369,6 @@ fn exec_on_package(
366369
return exec_cargo(cx, id, &mut line, progress, keep_going);
367370
}
368371
Kind::Each { .. } | Kind::Powerset { .. } => {}
369-
Kind::SkipAsPrivate => unreachable!(),
370372
}
371373

372374
if !cx.no_default_features {
@@ -394,7 +396,7 @@ fn exec_on_package(
394396
exec_cargo_with_features(cx, id, &line, progress, keep_going, f)?;
395397
}
396398
}
397-
_ => unreachable!(),
399+
Kind::Normal => unreachable!(),
398400
}
399401

400402
let pkg_features = cx.pkg_features(id);

0 commit comments

Comments
 (0)