[Dlang-internal] DIP1000 discussion and testing

Walter Bright via Dlang-internal dlang-internal at puremagic.com
Sun Dec 18 10:09:31 PST 2016


BTW, Rust is a system with annotations that can be applied at any level. Yet it 
still needs @system code for many data structures (any with cycles in it).

Rust's system also (so I've read) requires one to re-architect data structures. 
It's not remotely a matter of just adding annotations.

That alone makes it unacceptable for D.

D's 'return scope' system covers routine coding use. More complex things can be 
encapsulated in @trusted code. I believe this is the sweet spot that will make 
it easy to transition to, use and be effective.

---

It's true that I've repeatedly had problems explaining how it works to you, 
Andrei, Dicebot and Mathias. I can only infer that having a much more complex 
system, which scope as a type constructor would be, would be infinitely worse. I 
find the prospect of debugging a data structure with 'scope' sprinkled around on 
random edges in it to be terrifying (as well as a combinatorial template 
instantiation explosion problem).



More information about the Dlang-internal mailing list