error_chain/
error_chain.rs1use ascii_dag::graph::DAG;
2
3fn main() {
4 println!("=== Error Chain Visualization ===\n");
5
6 let mut dag = DAG::new();
10
11 dag.add_node(1, "FileNotFound");
12 dag.add_node(2, "ParseError");
13 dag.add_node(3, "CompilationFailed");
14 dag.add_node(4, "BuildFailed");
15
16 dag.add_edge(1, 2); dag.add_edge(2, 3); dag.add_edge(3, 4); println!("Error Dependency Chain:");
21 println!("{}", dag.render());
22
23 println!("\n=== Complex Error Scenario ===\n");
25
26 let dag = DAG::from_edges(
27 &[
28 (1, "ConfigMissing"),
29 (2, "DBConnFail"),
30 (3, "AuthFail"),
31 (4, "InitError"),
32 (5, "StartupFail"),
33 ],
34 &[
35 (1, 2), (1, 3), (2, 4), (3, 4), (4, 5), ],
41 );
42
43 println!("Multiple Error Paths:");
44 println!("{}", dag.render());
45
46 if dag.has_cycle() {
48 println!("\n⚠️ WARNING: Circular error dependency detected!");
49 } else {
50 println!("\n✓ No circular dependencies");
51 }
52}