申し訳ないが俺自身がRustを知らないのでつっこんだ議論は空回りしてしまうが。

> そうであったC++は少なくともCの領域を完全にはカバーしなかった訳で、
> Cの領域
これをどう捉えるからだよ。
少なくともC++の連中は「カバーしている」と思っている。
そしてLinusは「C++は全くのゴミだ」と思っている。

良くも悪しくも、Cはミニマムで美しく完成している。全く無駄がない。
そして各後継言語はこれに対して、「便利機能」を追加しようとしてきた。

C++は「クラス」「型検査」「例外」を導入した。
結果、CならCキャストやマクロですぱっと書けるところをグダグダとテンプレートを引き回したり、
或いは間接呼び出しでいちいち実行速度が遅くなったり、
はてまたスマポ(キリッでGCの再実装を盛大にやらかしている有様だ。
Linusの意見はごもっともだ。

Rustの謳い文句は、「実行速度」「ゼロコスト抽象化」等であり、
C++の失敗を見て学んでいることは明白だ。
だから、後継になろうとしている相手はCなんだよ。C++ではなくてね。
とはいえ、そちらの指摘の通り、実際の仕様がCよりもC++に近くなるのは必然だ。
普通にやれば、C++で成功したところはそれをもらって、
C++で失敗したところは新たな方法を提案して、となるだろうからね。

Rustはぱっと見、スマポがデフォで生ポは例外的使用か?
C++は歴史的経緯から「言語的には」生ポがデフォでスマポが追加されている。
これは、「『アプリケーション用の』プログラミング言語」としては間違いだ。(Linusもそう言っている)
結果、C++erは「デストラクタ」「スマポ」「=のオーバーロード]をこねくり回して苦労しているが、
本来はこれらは言語側で完全に隠蔽すべき物だ。(ユーザが書く必要なんてない)
そしてRustはそれをやり、結果的にnull安全なんだろ。
正しい方向への進化だよ。(分岐元がCかC++かは何とも言い難いが)
C++はアプリケーションの動作と関係ないところで無駄に苦労するでしょ。俺はあれが嫌い。