| digraph block { |
| N0[label="entry"]; |
| N1[label="exit"]; |
| N2[label="expr 23"]; |
| N3[label="local mut x"]; |
| N4[label="stmt let mut x = 23;"]; |
| N5[label="expr 23"]; |
| N6[label="local mut y"]; |
| N7[label="stmt let mut y = 23;"]; |
| N8[label="expr 23"]; |
| N9[label="local mut z"]; |
| N10[label="stmt let mut z = 23;"]; |
| N11[label="(dummy_node)"]; |
| N12[label="expr x"]; |
| N13[label="expr 0"]; |
| N14[label="expr x > 0"]; |
| N15[label="expr while x > 0 {\l x -= 1;\l while y > 0 {\l y -= 1;\l while z > 0 { z -= 1; }\l if x > 10 { return; \"unreachable\"; }\l }\l}\l"]; |
| N16[label="expr 1"]; |
| N17[label="expr x"]; |
| N18[label="expr x -= 1"]; |
| N19[label="stmt x -= 1;"]; |
| N20[label="(dummy_node)"]; |
| N21[label="expr y"]; |
| N22[label="expr 0"]; |
| N23[label="expr y > 0"]; |
| N24[label="expr while y > 0 {\l y -= 1;\l while z > 0 { z -= 1; }\l if x > 10 { return; \"unreachable\"; }\l}\l"]; |
| N25[label="expr 1"]; |
| N26[label="expr y"]; |
| N27[label="expr y -= 1"]; |
| N28[label="stmt y -= 1;"]; |
| N29[label="(dummy_node)"]; |
| N30[label="expr z"]; |
| N31[label="expr 0"]; |
| N32[label="expr z > 0"]; |
| N33[label="expr while z > 0 { z -= 1; }"]; |
| N34[label="expr 1"]; |
| N35[label="expr z"]; |
| N36[label="expr z -= 1"]; |
| N37[label="stmt z -= 1;"]; |
| N38[label="block { z -= 1; }"]; |
| N39[label="stmt while z > 0 { z -= 1; }"]; |
| N40[label="expr x"]; |
| N41[label="expr 10"]; |
| N42[label="expr x > 10"]; |
| N43[label="expr return"]; |
| N44[label="(dummy_node)"]; |
| N45[label="stmt return;"]; |
| N46[label="expr \"unreachable\""]; |
| N47[label="stmt \"unreachable\";"]; |
| N48[label="block { return; \"unreachable\"; }"]; |
| N49[label="expr if x > 10 { return; \"unreachable\"; }"]; |
| N50[label="block { y -= 1; while z > 0 { z -= 1; } if x > 10 { return; \"unreachable\"; } }"]; |
| N51[label="block {\l x -= 1;\l while y > 0 {\l y -= 1;\l while z > 0 { z -= 1; }\l if x > 10 { return; \"unreachable\"; }\l }\l}\l"]; |
| N52[label="block {\l let mut x = 23;\l let mut y = 23;\l let mut z = 23;\l while x > 0 {\l x -= 1;\l while y > 0 {\l y -= 1;\l while z > 0 { z -= 1; }\l if x > 10 { return; \"unreachable\"; }\l }\l }\l}\l"]; |
| N0 -> N2; |
| N2 -> N3; |
| N3 -> N4; |
| N4 -> N5; |
| N5 -> N6; |
| N6 -> N7; |
| N7 -> N8; |
| N8 -> N9; |
| N9 -> N10; |
| N10 -> N11; |
| N11 -> N12; |
| N12 -> N13; |
| N13 -> N14; |
| N14 -> N15; |
| N14 -> N16; |
| N16 -> N17; |
| N17 -> N18; |
| N18 -> N19; |
| N19 -> N20; |
| N20 -> N21; |
| N21 -> N22; |
| N22 -> N23; |
| N23 -> N24; |
| N23 -> N25; |
| N25 -> N26; |
| N26 -> N27; |
| N27 -> N28; |
| N28 -> N29; |
| N29 -> N30; |
| N30 -> N31; |
| N31 -> N32; |
| N32 -> N33; |
| N32 -> N34; |
| N34 -> N35; |
| N35 -> N36; |
| N36 -> N37; |
| N37 -> N38; |
| N38 -> N29; |
| N33 -> N39; |
| N39 -> N40; |
| N40 -> N41; |
| N41 -> N42; |
| N42 -> N43; |
| N43 -> N1; |
| N44 -> N45; |
| N45 -> N46; |
| N46 -> N47; |
| N47 -> N48; |
| N42 -> N49; |
| N48 -> N49; |
| N49 -> N50; |
| N50 -> N20; |
| N24 -> N51; |
| N51 -> N11; |
| N15 -> N52; |
| N52 -> N1; |
| } |