<p><pre><code>  &gt; seemingly arbitrary rules
</code></pre>
Most of them are about Rust&#x27;s core guarantee: data race freedom. Some of them are due to a certain conservativeness of any static analysis, and may be relaxed in the future.<p><pre><code>  &gt; for the love of all that is holy, prove me wrong
</code></pre>
It depends on exactly what you&#x27;re doing. There are always ways to get around things, but it can depend on knowing Rust and its standard libraries well. As a younger language, some patterns are still being developed, and aren&#x27;t always as obvious as they could be. We&#x27;ll get there...<p>Rust is certainly a different language, and if you try to port C++ code directly over, you may have problems. Such is life. :)