Recovering from DIP 1028

Bruce Carneal bcarneal at gmail.com
Wed May 27 22:27:38 UTC 2020


DIP 1028 is unsound (it assumes that extern(C) is safe).

DIP 1028 is deeply unpopular, just read the threads.

DIP 1028 opens dlang and the dlang community up for completely 
justified ridicule when it comes to safety.  (see Ethan's 
delightful thread: @safe/DIP1028 explained in meme).

Yes, all that and quite a bit more, but as I understand it DIP 
1028 has already been accepted, so what now?

Here are some of the possible paths forward:

1) Walter withdraws 1028 and resubmits after removing extern(C) 
== @safe.

2) Walter withdraws 1028 and resubmits nothing.

3) The community creates a shallow fork of DMD that isolates the 
cancer.  Perhaps a command line flag like:
   --safeAsDefault=no  // what we have now
   --safeAsDefault=yes // 1028 without extern(C) inanity
   --safeAsDefault=dwbh // 1028 as it stands, the "dont worry, be 
happy" option

4) "embrace the horror", do nothing

For myself, these are in order of preference.  If either 1) or 2) 
materializes in the near future, great.  Otherwise, if you are 
capable and desirous of leading 3), please contact me.  It's a 
lot less desirable than either 1) or 2) but if we can't have 
either of those, I want to help with the programming.

If you have better ideas on how to recover from DIP 1028, please 
speak up.



















More information about the Digitalmars-d mailing list