DIP1028 - Rationale for accepting as is

Adam D. Ruppe destructionator at gmail.com
Fri May 22 14:25:22 UTC 2020


On Friday, 22 May 2020 at 01:22:19 UTC, Walter Bright wrote:
> 3. Wrap the call to massage_data() with:
>
>     () @trusted { massage_data(parameters); } ();

The correct solution is to encapsulate the C functions as-needed 
with a higher level API - and this is somewhat commonly done 
already and - as i understand it anyway - the whole purpose of 
@trusted being function level instead of statement level.

> 2. Existing, working code breaks.

@safe by default is probably the biggest breaking change D has 
ever seen as of this point. It eclipses anything in the D2 
transition.

It is D3 in all by name. My preference, as I've said many times, 
is to fix the propagation of attributes into child scopes and 
leave the defaults alone, but failing that, I'd actually say 
embrace this: if we're doing big breakage anyway, go big and do 
it right.


More information about the Digitalmars-d-announce mailing list