digraph __crate__ { subgraph cluster_Mir_0_10 { graph [fontname="Courier, monospace"]; node [fontname="Courier, monospace"]; edge [fontname="Courier, monospace"]; // label=<fn main() -&gt; ()<br align="left"/>let mut _1: std::string::String;<br align="left"/>let mut _2: DropGlue&lt;&amp;mut std::string::String&gt;;<br align="left"/>let mut _3: &amp;mut std::string::String;<br align="left"/>let mut _4: *mut std::string::String;<br align="left"/>let _5: ();<br align="left"/>debug _2 =&gt; _2;<br align="left"/>debug _1 =&gt; _1;<br align="left"/>>; bb0__0_10 [shape="none", label=<<table border="0" cellborder="1" cellspacing="0"><tr><td bgcolor="gray" align="center" colspan="1">0</td></tr><tr><td align="left" balign="left">StorageLive(_1)<br/></td></tr><tr><td align="left">_1 = String::new()</td></tr></table>>]; bb1__0_10 [shape="none", label=<<table border="0" cellborder="1" cellspacing="0"><tr><td bgcolor="gray" align="center" colspan="1">1</td></tr><tr><td align="left" balign="left">StorageLive(_4)<br/>_4 = &amp;raw mut _1<br/>_3 = &amp;mut (*_4)<br/>_2 = DropGlue::&lt;&amp;mut String&gt;(_3)<br/>StorageDead(_4)<br/></td></tr><tr><td align="left">_5 = std::mem::drop::&lt;DropGlue&lt;&amp;mut String&gt;&gt;(move _2)</td></tr></table>>]; bb2__0_10 [shape="none", label=<<table border="0" cellborder="1" cellspacing="0"><tr><td bgcolor="gray" align="center" colspan="1">2</td></tr><tr><td align="left">drop(_1)</td></tr></table>>]; bb3__0_10 [shape="none", label=<<table border="0" cellborder="1" cellspacing="0"><tr><td bgcolor="gray" align="center" colspan="1">3</td></tr><tr><td align="left" balign="left">StorageDead(_1)<br/></td></tr><tr><td align="left">return</td></tr></table>>]; bb4__0_10 [shape="none", label=<<table border="0" cellborder="1" cellspacing="0"><tr><td bgcolor="lightblue" align="center" colspan="1">4 (cleanup)</td></tr><tr><td align="left">drop(_1)</td></tr></table>>]; bb5__0_10 [shape="none", label=<<table border="0" cellborder="1" cellspacing="0"><tr><td bgcolor="lightblue" align="center" colspan="1">5 (cleanup)</td></tr><tr><td align="left">resume</td></tr></table>>]; bb0__0_10 -> bb1__0_10 [label="return"]; bb1__0_10 -> bb2__0_10 [label="return"]; bb1__0_10 -> bb4__0_10 [label="unwind"]; bb2__0_10 -> bb3__0_10 [label="return"]; bb4__0_10 -> bb5__0_10 [label="return"]; } }