title: Should Rust implementations of From/TryFrom target references or values?
body: <p>Should I be writing:</p>
  
  <pre><code>impl&lt;'a&gt; From&lt;&amp;'a Type&gt; for OtherType
  </code></pre>
  
  <p>Or should it be</p>
  
  <pre><code>impl From&lt;Type&gt; for OtherType
  </code></pre>
  
  <p>I'm having a difficult time finding the answer, perhaps due to a vocabulary failure on my part. I really don't particularly care about the reference-ness/value-ness of the argument.</p>
  
  <p>In C++, I would define the function over/method on values and calling it on const references.</p>
  
  <p>Is there an automatic derivation from <code>impl Trait&lt;Type&gt;</code> to <code>impl&lt;'a&gt; Trait&lt;&amp;'a Type&gt;</code>?</p>