There&#x27;s a reserved and unimplemented keyword &quot;become&quot;, which is like &quot;return&quot; except it requires that it can optimize the tail call (and is a compile-time error if it can&#x27;t). See this comment: <a href="https:&#x2F;&#x2F;github.com&#x2F;rust-lang&#x2F;rfcs&#x2F;issues&#x2F;271#issuecomment-189386398" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;rust-lang&#x2F;rfcs&#x2F;issues&#x2F;271#issuecomment-18...</a><p>Nobody&#x27;s tried implementing it recently, though.