On Monday, 25 May 2020 at 17:31:29 UTC, Paul Backus wrote:
Even if you did review your code *and* all of your
dependencies, if you did it before DIP 1028 was accepted (i.e.,
any time in the last 10 years or so), you may have deliberately
left external @system functions un-annotated, because @system
was the default.
In fact, I *know* that people have done this, because I've been
running my patched version of the compiler [1] against the dmd,
druntime, and phobos codebases, and I have found an enormous
number of such un-annotated declarations. Here are just a few
of them in druntime:
https://github.com/dlang/druntime/pull/3117
Lots and lots of projects in the D ecosystem are going to need
similar patches to be compatible with DIP 1028. And I don't
think it's realistic to expect people to make these changes
without some kind of help from the tooling.
[1] https://github.com/dlang/dmd/pull/11176
I really appreciate your contributions. (The latter of which will
be quite handy.) But isn't the whole point of Walter's
implementation of @safe-as-default is that FFIs are going to be
assumed @safe? So they should still compile; that is unless
you're referring to the need for re-evaluation.