Skip to content

Commit c2e2c39

Browse files
authored
Show terms in derivation tree debug output (#9862)
1 parent f0a2d6f commit c2e2c39

File tree

1 file changed

+28
-20
lines changed

1 file changed

+28
-20
lines changed

crates/uv-resolver/src/error.rs

Lines changed: 28 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -387,35 +387,43 @@ fn display_tree_inner(
387387
lines: &mut Vec<String>,
388388
depth: usize,
389389
) {
390+
let prefix = " ".repeat(depth).to_string();
390391
match error {
391392
DerivationTree::Derived(derived) => {
392393
display_tree_inner(&derived.cause1, lines, depth + 1);
393394
display_tree_inner(&derived.cause2, lines, depth + 1);
394-
}
395-
DerivationTree::External(external) => {
396-
let prefix = " ".repeat(depth).to_string();
397-
match external {
398-
External::FromDependencyOf(package, version, dependency, dependency_version) => {
399-
lines.push(format!(
400-
"{prefix}{package}{version} depends on {dependency}{dependency_version}"
401-
));
402-
}
403-
External::Custom(package, versions, reason) => match reason {
404-
UnavailableReason::Package(_) => {
405-
lines.push(format!("{prefix}{package} {reason}"));
395+
for (package, term) in &derived.terms {
396+
match term {
397+
Term::Positive(versions) => {
398+
lines.push(format!("{prefix}term {package}{versions}"));
406399
}
407-
UnavailableReason::Version(_) => {
408-
lines.push(format!("{prefix}{package}{versions} {reason}"));
400+
Term::Negative(versions) => {
401+
lines.push(format!("{prefix}term not {package}{versions}"));
409402
}
410-
},
411-
External::NoVersions(package, versions) => {
412-
lines.push(format!("{prefix}no versions of {package}{versions}"));
413-
}
414-
External::NotRoot(package, versions) => {
415-
lines.push(format!("{prefix}not root {package}{versions}"));
416403
}
417404
}
418405
}
406+
DerivationTree::External(external) => match external {
407+
External::FromDependencyOf(package, version, dependency, dependency_version) => {
408+
lines.push(format!(
409+
"{prefix}{package}{version} depends on {dependency}{dependency_version}"
410+
));
411+
}
412+
External::Custom(package, versions, reason) => match reason {
413+
UnavailableReason::Package(_) => {
414+
lines.push(format!("{prefix}{package} {reason}"));
415+
}
416+
UnavailableReason::Version(_) => {
417+
lines.push(format!("{prefix}{package}{versions} {reason}"));
418+
}
419+
},
420+
External::NoVersions(package, versions) => {
421+
lines.push(format!("{prefix}no versions of {package}{versions}"));
422+
}
423+
External::NotRoot(package, versions) => {
424+
lines.push(format!("{prefix}not root {package}{versions}"));
425+
}
426+
},
419427
}
420428
}
421429

0 commit comments

Comments
 (0)