Skip to content

Commit 038bd06

Browse files
committed
refactor(tree): Allow failing during printing
1 parent 0e73eb5 commit 038bd06

File tree

1 file changed

+12
-8
lines changed

1 file changed

+12
-8
lines changed

src/cargo/ops/tree/mod.rs

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,7 @@ fn print(
282282
&mut visited_deps,
283283
&mut levels_continue,
284284
&mut print_stack,
285-
);
285+
)?;
286286
}
287287

288288
Ok(())
@@ -302,7 +302,7 @@ fn print_node<'a>(
302302
visited_deps: &mut HashSet<NodeId>,
303303
levels_continue: &mut Vec<(anstyle::Style, bool)>,
304304
print_stack: &mut Vec<NodeId>,
305-
) {
305+
) -> CargoResult<()> {
306306
let new = no_dedupe || visited_deps.insert(node_index);
307307

308308
match prefix {
@@ -343,7 +343,7 @@ fn print_node<'a>(
343343
drop_println!(ws.gctx(), "{}{}", format.display(graph, node_index), star);
344344

345345
if !new || in_cycle {
346-
return;
346+
return Ok(());
347347
}
348348
print_stack.push(node_index);
349349

@@ -367,9 +367,11 @@ fn print_node<'a>(
367367
levels_continue,
368368
print_stack,
369369
kind,
370-
);
370+
)?;
371371
}
372372
print_stack.pop();
373+
374+
Ok(())
373375
}
374376

375377
/// Prints all the dependencies of a package for the given dependency kind.
@@ -387,10 +389,10 @@ fn print_dependencies<'a>(
387389
levels_continue: &mut Vec<(anstyle::Style, bool)>,
388390
print_stack: &mut Vec<NodeId>,
389391
kind: &EdgeKind,
390-
) {
392+
) -> CargoResult<()> {
391393
let deps = graph.edges_of_kind(node_index, kind);
392394
if deps.is_empty() {
393-
return;
395+
return Ok(());
394396
}
395397

396398
let name = match kind {
@@ -422,7 +424,7 @@ fn print_dependencies<'a>(
422424

423425
// Current level exceeds maximum display depth. Skip.
424426
if levels_continue.len() + 1 > max_display_depth as usize {
425-
return;
427+
return Ok(());
426428
}
427429

428430
let mut it = deps
@@ -457,9 +459,11 @@ fn print_dependencies<'a>(
457459
visited_deps,
458460
levels_continue,
459461
print_stack,
460-
);
462+
)?;
461463
levels_continue.pop();
462464
}
465+
466+
Ok(())
463467
}
464468

465469
fn edge_line_color(kind: EdgeKind) -> anstyle::Style {

0 commit comments

Comments
 (0)