title: Why does Option<&String> not coerce to Option<&str>?
body: <p>I have an <code>Option&lt;String&gt;</code> and a function that takes an <code>Option&lt;&amp;str&gt;</code>. I thought <code>Option::as_ref</code> would work, because usually <code>&amp;String</code> converts automatically to <code>&amp;str</code>, but not here. I get this error:</p>
  
  <pre><code>sandbox.rs:6:27: 6:37 error: mismatched types:
   expected `core::option::Option&lt;&amp;str&gt;`,
      found `core::option::Option&lt;&amp;collections::string::String&gt;`
  (expected str,
      found struct `collections::string::String`) [E0308]
  </code></pre>
  
  <p>While <a href="https://stackoverflow.com/q/31233938/155423">this answer</a> describes how to convert from one to the other, I'd still like to know why the <code>&amp;String</code> isn't "coerced" (if that's the right term) into <code>&amp;str</code> like it usually is.</p>