DIP 1028 "Make @safe the Default" is dead

jmh530 john.michael.hall at gmail.com
Fri May 29 11:04:00 UTC 2020


On Friday, 29 May 2020 at 04:53:07 UTC, Walter Bright wrote:
> The subject says it all.
>
> If you care about memory safety, I recommending adding `safe:` 
> as the first line in all your project modules, and annotate 
> individual functions otherwise as necessary. For modules with C 
> declarations, do as you think best.
>
> For everyone else, carry on as before.

Thank you Walter. I am sure this was not an easy decision, and I 
respect how you have handled the response.

I think one important takeaway from this should be that people 
were not opposed to "memory safety by default." Instead, they 
were opposed to "@safe in its current implementation by default."

In terms of changing the behavior of @safe, I think it would be 
useful to review comments on this old bug report [1] about 
changing @safe to a whitelist instead of blacklist. I think if 
@safe was a whitelist instead of a blacklist, the concerns about 
@safe's current implementation would be diminished.

I also think some of the comments on the thread discussing the 
DIP procedure are also relevant for improving the DIP process 
going forward. In particular, creating a small DIP committee, 
perhaps consisting of the Language Maintainers, the principal 
maintainers of LDC and GDC, and maybe one person elected by the 
community (hopefully Andrei if he has time to volunteer), that 
would discuss each DIP before voting might help make a more 
robust decision. If the current process is continued, then we 
could add a rule that the DIP author may not participate in final 
DIP votes and he should be replaced by an alternate. I'm not sure 
how important that would be with a committee-based approach, but 
worth considering.


[1] https://issues.dlang.org/show_bug.cgi?id=12941


More information about the Digitalmars-d-announce mailing list