digraph block { N0[label="entry"]; N1[label="exit"]; N2[label="expr 10is"]; N3[label="local mut x"]; N4[label="stmt let mut x = 10is;"]; N5[label="(dummy_node)"]; N6[label="expr x"]; N7[label="expr 0is"]; N8[label="expr x > 0is"]; N9[label="expr while x > 0is { x -= 1is; }"]; N10[label="expr 1is"]; N11[label="expr x"]; N12[label="expr x -= 1is"]; N13[label="stmt x -= 1is;"]; N14[label="block { x -= 1is; }"]; N15[label="block { let mut x = 10is; while x > 0is { x -= 1is; } }"]; N0 -> N2; N2 -> N3; N3 -> N4; N4 -> N5; N5 -> N6; N6 -> N7; N7 -> N8; N8 -> N9; N8 -> N10; N10 -> N11; N11 -> N12; N12 -> N13; N13 -> N14; N14 -> N5; N9 -> N15; N15 -> N1; }