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?