Don&#x27;t get me wrong I respect Rust core team as theorists and think rust is an important research project.<p>But in C++ if you have a const member function F() then F() can only change member variables that use the &quot;mutable&quot; key word.<p>If you default to all methods are const you have much much safer C++. As safe as rust? not probably but combined with liftimes proposal and static analysis rules we have a language good engineers can sufficiently work with.<p><pre><code>    struct Foo 
    {
         mutable auto a = 4;
         auto increment() const -&gt; void 
         {
              this-&gt;++a;
         }
    };
</code></pre>
If we train engineers to use const member functions, then the programmer is forced to think about state and mutation.<p>As C++98 PTSD begins to fade and C++17 becomes the cultural mental image of the language, the argument for switching to rust will become less and less compelling.<p>Eventually, the only &quot;advantage&quot; will be ML influenced syntax.<p>The reason is there are only three languages that can easily call into C++ code. Objective-C (swift by proxy), D, and of course C++.<p>Why rust didn&#x27;t prioritize compatibility with C++ like C++ did with C boggles my mind. Why do you think C++ became so popular? Near perfect C compatibility (until recently) is literally the only reason. Instead of focusing on pragmatisim Rust focused on language purity.<p>At what cost?