Ranges and @safe

SrMordred patric.dexheimer at gmail.com
Sun Sep 22 23:40:10 UTC 2019


On Sunday, 22 September 2019 at 23:18:12 UTC, Paul Backus wrote:
> On Sunday, 22 September 2019 at 23:03:32 UTC, SrMordred wrote:
>> I think that .front in ranges should'nt be safe by default.
>>
>> @safe{ iota(0,0).front(); } //BOOM, but compiles on @safe.
>
> @safe does not mean "does not have runtime errors", it means 
> "does not corrupt memory". Accessing the front of an empty 
> range may crash your program, but it shouldn't cause memory 
> corruption (unless you disable bounds-checking).

Hm.. yes.
Maybe i´m taking this on the wrong angle.
Maybe @safe should be more constraint then.

I feel like code under @safe should always be ok, and if any 
thing breaks you should look at
@trusted code to see where is the problem.
You "box" unsafe code on specific places (like Rust do with 
unsafe)



More information about the Digitalmars-d mailing list