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?

Reply via email to