Skip to content

Commit 31a884e

Browse files
committed
refactor(resolver): Qualify what kind of alt candidates we're discussing
1 parent 4d7913b commit 31a884e

File tree

1 file changed

+13
-10
lines changed

1 file changed

+13
-10
lines changed

src/cargo/core/resolver/errors.rs

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@ pub(super) fn activation_error(
303303
} else {
304304
// Maybe the user mistyped the name? Like `dep-thing` when `Dep_Thing`
305305
// was meant. So we try asking the registry for a `fuzzy` search for suggestions.
306-
let candidates = loop {
306+
let name_candidates = loop {
307307
match registry.query_vec(&new_dep, QueryKind::AlternativeNames) {
308308
Poll::Ready(Ok(candidates)) => break candidates,
309309
Poll::Ready(Err(e)) => return to_resolve_err(e),
@@ -314,30 +314,33 @@ pub(super) fn activation_error(
314314
}
315315
};
316316

317-
let mut candidates: Vec<_> = candidates.into_iter().map(|s| s.into_summary()).collect();
317+
let mut name_candidates: Vec<_> = name_candidates
318+
.into_iter()
319+
.map(|s| s.into_summary())
320+
.collect();
318321

319-
candidates.sort_unstable_by_key(|a| a.name());
320-
candidates.dedup_by(|a, b| a.name() == b.name());
321-
let mut candidates: Vec<_> = candidates
322+
name_candidates.sort_unstable_by_key(|a| a.name());
323+
name_candidates.dedup_by(|a, b| a.name() == b.name());
324+
let mut name_candidates: Vec<_> = name_candidates
322325
.iter()
323326
.filter_map(|n| Some((edit_distance(&*new_dep.package_name(), &*n.name(), 3)?, n)))
324327
.collect();
325-
candidates.sort_by_key(|o| o.0);
328+
name_candidates.sort_by_key(|o| o.0);
326329
let mut msg: String;
327-
if candidates.is_empty() {
330+
if name_candidates.is_empty() {
328331
msg = format!("no matching package named `{}` found\n", dep.package_name());
329332
} else {
330333
msg = format!(
331334
"no matching package found\nsearched package name: `{}`\n",
332335
dep.package_name()
333336
);
334-
let mut names = candidates
337+
let mut names = name_candidates
335338
.iter()
336339
.take(3)
337340
.map(|c| c.1.name().as_str())
338341
.collect::<Vec<_>>();
339342

340-
if candidates.len() > 3 {
343+
if name_candidates.len() > 3 {
341344
names.push("...");
342345
}
343346
// Vertically align first suggestion with missing crate name
@@ -347,7 +350,7 @@ pub(super) fn activation_error(
347350
String::default(),
348351
|acc, (i, el)| match i {
349352
0 => acc + el,
350-
i if names.len() - 1 == i && candidates.len() <= 3 => acc + " or " + el,
353+
i if names.len() - 1 == i && name_candidates.len() <= 3 => acc + " or " + el,
351354
_ => acc + ", " + el,
352355
},
353356
));

0 commit comments

Comments
 (0)