> What may be initially most important to C programmers is memory safety in the form of array overflow checking, no more stray pointers into expired stack frames, and guaranteed initialization of locals. Are there any docs about this anywhere? http://dlang.org/spec/betterc.html doesn't really describe this stuff.
Documentation for the individual features mentioned:
http://dlang.org/spec/function.html#safe-functions
> array overflow checking
http://dlang.org/spec/arrays.html#bounds
> guaranteed initialization of locals
http://dlang.org/spec/type.html http://dlang.org/spec/declaration.html#void_init
> no more stray pointers into expired stack frames
DIP1000 describes D's scoped pointers approach to memory safety - https://github.com/dlang/DIPs/blob/master/DIPs/DIP1000.md. This is work in progress and the document doesn't reflect latest state of things. Conceptually, scoped slices/pointers/references are similar to concept of borrowing that you guys have in Rust.