>>75
I'm not seeing anything on the memory safety angle
It's a garbage collected language with the option to turn the GC off, and the option to use pointer arithmetic, unsafe casts, etc. There is a language feature that allows you to mark memory-safe functions as @safe, which the compiler can statically verify.
Also, what does it do shared mutable state?
All data is thread-local by default, and must be specifically declared to be shared across threads. See the
shared and
_gshared qualifiers. There is also an
immutable keyword that guarantees there are no mutable references to a given piece of data, which is amazingly better than C++'s
const, which still allows you to alter the data through a mutable reference.