Rationale for accepting DIP 1028 as is

Timon Gehr timon.gehr at gmx.ch
Wed May 27 10:01:41 UTC 2020


On 27.05.20 07:54, Walter Bright wrote:
> On 5/26/2020 1:32 PM, Paul Backus wrote:
>> The reason extern function declarations are particularly problematic 
>> is that changing them from @system-by-default to @safe-by-default can 
>> cause *silent* breakage in existing, correct code.
> 
> Can you post an example of currently compiling and correctly working 
> code that will break?
> 
> Setting aside use of __traits(compiles, ...).

What exactly is your standard here? Are you saying we have to produce 
the following?

- Monolithic example, API breakage does not count.

- No __traits(compiles, ...)

- The code has to compile under both old and new rules.

- The code has to corrupt memory in @safe code under new rules.

This is clearly not possible, exactly because the old @safe rules are 
stronger. But why exactly should API breakage not count?


More information about the Digitalmars-d-announce mailing list