@@ -387,35 +387,43 @@ fn display_tree_inner(
387
387
lines : & mut Vec < String > ,
388
388
depth : usize ,
389
389
) {
390
+ let prefix = " " . repeat ( depth) . to_string ( ) ;
390
391
match error {
391
392
DerivationTree :: Derived ( derived) => {
392
393
display_tree_inner ( & derived. cause1 , lines, depth + 1 ) ;
393
394
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}" ) ) ;
406
399
}
407
- UnavailableReason :: Version ( _ ) => {
408
- lines. push ( format ! ( "{prefix}{package}{versions} {reason }" ) ) ;
400
+ Term :: Negative ( versions ) => {
401
+ lines. push ( format ! ( "{prefix}term not {package}{versions}" ) ) ;
409
402
}
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}" ) ) ;
416
403
}
417
404
}
418
405
}
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
+ } ,
419
427
}
420
428
}
421
429
0 commit comments