DIP1028 - Rationale for accepting as is

Paul Backus snarwin at gmail.com
Mon May 25 13:43:07 UTC 2020


On Monday, 25 May 2020 at 13:22:36 UTC, Petar Kirov [ZombineDev] 
wrote:
> On Monday, 25 May 2020 at 13:14:51 UTC, Petar Kirov 
> [ZombineDev] wrote:
>>
>> It may be true (of course modulo meta-programming) that it 
>> doesn't make a difference for the calling code, but I 
>> personally want have the guarantees that a function that I'm
>
> doesn't make a difference for the calling code, but personally
> I want [to] have the guarantees that a function that I'm
>
>> calling is truly @safe (it doesn't contain or call any 
>> @trusted code, transitively, nor it calls any @safe code, 
>> which access global variables initialized by @system 
>> static/module constructors).
>
> This is very far from a rigorous definition of "strong 
> @safe-ty" - but I hope it's just enough for the casual reader 
> to understand my intention.

I'm sure this is reasonable for your use-case, but I hope you can 
recognize that this definition of safety is far too narrow to be 
suitable for a general-purpose programming language (which D 
purports to be). Most people would like their @safe code to be 
able to do I/O, for example, despite the fact that it necessarily 
involves calling @system code under the hood.


More information about the Digitalmars-d-announce mailing list