title: Dereferencing Box<T> gives back value instead of reference
body: <p>I can't seem to figure out why:</p>
  
  <pre><code>let a = Box::new(5i32);
  let _:() = *a;
  </code></pre>
  
  <p>tells me that the assigned type on the second line is <code>i32</code> and not <code>&amp;i32</code> since <code>Deref.deref()</code> (which I assume is being called at <code>*a</code>), returns <code>&amp;T</code>.</p>
  
  <p>Also, if I were to call <code>deref()</code> myself:</p>
  
  <pre><code>let _:() = &lt;Box&lt;i32&gt; as Deref&gt;::deref(&amp;a);
  </code></pre>
  
  <p>I get the expected <code>&amp;i32</code>.</p>