Exactly. C programming has three big questions: &quot;How big is it&quot;, &quot;who releases it&quot;, and &quot;who locks it&quot;.  The language gives little help with any of those issues.  C++ tries to address all three, but the mechanisms were all painfully retrofitted using templates and they leak.<p>In the example in the article, &quot;is_origin(point)&quot;, the code for which is not shown, is clearly bogus.  A function that&#x27;s just a predicate should not consume its input.  It should use read-only access by reference.<p>One big advantage of Rust is that, because the ownership checking is safe, you don&#x27;t have to make copies of things just to simplify memory allocation control. In some C++ GUI libraries, strings are copied again and again to prevent memory allocation errors.  Rust should be more efficient.  It&#x27;s going to be interesting to see if Servo puts a dent in browser memory consumption.  It&#x27;s insane that browsers now can need more than 1GB of RAM. There have to be multiple copies of the same data.