Skip to content

Instantly share code, notes, and snippets.

@danielhenrymantilla
Created July 22, 2023 12:44
Show Gist options
  • Save danielhenrymantilla/02a18868013d7a41c58fddb03d316806 to your computer and use it in GitHub Desktop.
Save danielhenrymantilla/02a18868013d7a41c58fddb03d316806 to your computer and use it in GitHub Desktop.
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"];
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment