That's funny. I would have said that those were _advantages_
for D. D's constness can certainly be unwieldy (some sort of
equivalent to C++ mutable would be a very welcome addition if
we could pull it off), but whatever flaws D's const may have,
the transitivity is a huge plus overall IMHO, and I would have
said that the struct/class split was a huge win. It properly
segregates the inheritance stuff to reference types while not
forcing all user-defined types of any complexity to be
reference types.
So, while I'm quite sure that Rust has advantages over D, I
would not have listed those among them.
In general, yes, but in terms of interfacing with C++ they are a
bit irksome.