That&#39;s a bit of a big
ask.</p>

<p>We then proceed to compute the string <code>s</code>, and return a reference to it. Since
the contract of our function says the reference must outlive <code>&#39;a</code>, that&#39;s the
lifetime we infer for the reference. Unfortunately, <code>s</code> was defined in the
scope <code>&#39;b</code>, so the only way this is sound is if <code>&#39;b</code> contains <code>&#39;a</code> -- which is
clearly false since <code>&#39;a</code> must contain the function call itsel