It seems that the main problem with Rust is that it has been grown up not from the CS and PL theory fundamentals , like ML, or Scheme or Erlang or even Go, and it is obviously not a small, clean language everyone loves and appreciates as being beautiful. In other words it is just little better than C++, which is a crap. If a language could be grown from ML (Ocaml) roots (like Scala) instead of C++, it could be much s…
Rust is ML like. It can do pattern matching and has adt type system. It uses expressions rather statements If you remove gc from ocaml, and added in compensating alternatives it would end up looking something like rust. I think a lot of the adversting around rust in a "better c++" but its actually ocaml like but not mentioned to avoid scaring away traditional systems devs.
For example, everything should be a reference by default, and use of explicit & is stylistically bad.
Or why in let mut iter = a.iter(); iter is mut? It should be a simple closure which follows a protocol. In what sense it is mutable?
And such small warts are literally everywhere, together resulting in a clutter.
A functional language uniform defaults (everything is an expression, everything is a binding which implies everything s reference) are much better.