DIP1028 - Rationale for accepting as is
Paul Backus
snarwin at gmail.com
Mon May 25 16:47:50 UTC 2020
On Monday, 25 May 2020 at 16:29:24 UTC, Atila Neves wrote:
> On Sunday, 24 May 2020 at 16:44:01 UTC, Paul Backus wrote:
>>
>> If we were designing a new language from scratch, I would
>> agree 100% with your reasoning.
>>
>> The problem is that there are un-annotated declarations in
>> existing code that have already been reviewed, committed, and
>> published under the assumption of @system-by-default. Those
>> declarations need to be flagged for re-review in order to
>> avoid introducing silent safety violations to existing D
>> projects.
>
> I share your concerns on this, but disagree on the likelihood
> of reviews having gone by under the assumption of @system by
> default. I doubt most people even thought about
> @safe/@trusted/@system, and that's assuming anyone reviewed the
> code in the first place.
>
> A few years ago I submitted several PRs to Phobos to mark all
> unittests that could with @safe explicitly. I'd say that was a
> good example of nobody reviewing them for their @systemness.
Walter's claim was that "un-annotated declarations are easily
detectable in code review." The intent of my response was simply
to point out that for existing D code, the opportunity for such
review, and therefore for the detection of such declarations, is
already in the past.
In any case, your response does not change my conclusion: the
compiler must warn D programmers that their declarations need to
be reviewed for compatibility with @safe-by-default. Whether they
were reviewed before that or not makes no difference.
More information about the Digitalmars-d-announce
mailing list