<story><title>Fighting the Borrow Checker</title><url>https://m-decoster.github.io//2017/01/16/fighting-borrowchk/</url></story><parent_chain></parent_chain><comment><author>kaosjester</author><text>I really hate the phrase &amp;quot;fighting&amp;quot;. Calling it a fight doesn&amp;#x27;t do justice to the conversations you have with the borrow checker when you use Rust every day. You don&amp;#x27;t &lt;i&gt;fight&lt;/i&gt; with the borrow checker, because there isn&amp;#x27;t a fight to win. It&amp;#x27;s far more elegant, more precise. It&amp;#x27;s &lt;i&gt;fencing&lt;/i&gt;; you &lt;i&gt;fence&lt;/i&gt; with the borrow checker, with ripostes and parries and well-aimed thrusts. And sometimes, you get to the end and you realize you lose anyway because the thing you were trying to do was fundamentally &lt;i&gt;wrong&lt;/i&gt;. And it&amp;#x27;s okay, because it&amp;#x27;s just fencing, and you&amp;#x27;re a little wiser, a little better-honed, a little more practiced for your next bout.</text></comment>
<story><title>Fighting the Borrow Checker</title><url>https://m-decoster.github.io//2017/01/16/fighting-borrowchk/</url></story><parent_chain></parent_chain><comment><author>weberc2</author><text>I&amp;#x27;ve often wondered why the extra scope is needed to borrow the same variable twice in a function. It seems like the borrow checker is being overly pedantic in this case by preventing users from writing a valid program. Rather than training new users to pacify the borrow checker, perhaps the borrow checker could be made to permit valid programs so as to reduce the learning curve?</text></comment>