DIP 1028---Make @safe the Default---Community Review Round 1

bachmeier no at spam.net
Fri Jan 3 20:02:10 UTC 2020

On Friday, 3 January 2020 at 10:37:15 UTC, Walter Bright wrote:
> I don't really understand what the problem is.

That a lot of working code will no longer compile without wasting 
a lot of time fixing it, including having to make changes to code 
you didn't write but are calling.

> Making code @safe by default will not cause code to regress 
> into bugginess.

But it won't compile, even though it does *exactly* what it's 
supposed to do. I don't think this is a complicated point. And 
the fact that all the documentation and forum posts currently on 
the internet will be broken. And the fact that this makes it 
harder for people to learn the language.

> What it will do is necessitate labeling code with @system that 
> were always @system already.

I'll send you my code and hopefully you can make all the 
necessary changes in a timely manner. Frankly, I'm shocked that 
you all of a sudden think major breaking changes in the language 
are no big deal.

What really has me puzzled is that this is a change with such a 
limited benefit. D already has @safe. If you want to make safe by 
default an option, add a -safe flag to the compiler and the 
problem is solved with no code breakage and no confusion, and you 
can appeal to the tiny sliver of programmers Rust was created for 
and that will never be interested in D anyway. Breaking changes 
can be good, but careful thought needs to be used to minimize the 
cost of those changes.

More information about the Digitalmars-d mailing list