econd</em> rule of references.</p>

<p>However this is <em>not at all</em> how Rust reasons that this program is bad. Rust
doesn&#39;t understand that <code>x</code> is a reference to a subpath of <code>data</code>. It doesn&#39;t
understand Vec at all. What it <em>does</em> see is that <code>x</code> has to live for <code>&#39;b</code> to
be printed. The signature of <code>Index::index</code> subsequently demands that the
reference we take to <code>data</code> has to survive for <code>&#39;b</code>. When w