On 1/3/2014 6:27 PM, Kelet wrote:
With Rust, there are no dangling or null pointers. This means that if a pointer exists, it points to a valid object of the appropriate type. When a pointer does not point to a valid object of the appropriate type, accessing the content at the pointer results in undefined behavior or an error in languages that allow it. Rust implements all of these pointer safety checks at compile time, so they do not incur a performance penalty. While `@safe` helps reduce this class of logic errors, it does not go so far as Rust -- you can still have null and dangling pointers, hence it is usually considered inferior with regards to safety.
Null pointers are not a safety issue. Safety means no memory corruption.
There was a SafeD[1] subset of D being worked on, but I'm not sure if it is active anymore.
That became @safe, which is very much active.