x behaves exactly like an owned reference. It
can be moved out of, and Rust understands it sufficiently to reason about its
paths like a normal variable.</p>

<h1 id='aliasing' class='section-header'><a href='#aliasing'>Aliasing</a></h1>
<p>With liveness and paths defined, we can now properly define <em>aliasing</em>:</p>

<p><strong>A mutable reference is aliased if there exists another live reference to one
of its ancestors or descendants.</strong></p>

<p>(If you prefer, you may also say the two live ref