DIP 1006 - Preliminary Review Round 1
Timon Gehr
timon.gehr at gmx.ch
Wed Mar 7 15:26:01 UTC 2018
On 07.03.2018 15:08, Paolo Invernizzi wrote:
> On Wednesday, 7 March 2018 at 13:55:11 UTC, Jonathan M Davis wrote:
>> On Wednesday, March 07, 2018 13:24:19 Paolo Invernizzi via
>> Digitalmars-d wrote:
>>> [...]
>>
>> That would make assertions a lot worse to use, because then they would
>> be in production code slowing it down. Also, as it stands, -release is
>> not supposed to violate @safe. To do that, you have to use
>> -boundscheck=off to turn off bounsd checking. That was a very
>> purposeful design decision, because we did not want -release to
>> violate @safe, and if the compiler is allowed to add optimizations
>> which are unsafe based on assertions, then that completely destroys
>> the ability to have @safe code with -release. And if we were going to
>> do that, why did we leave array bounds checking on with -release?
>>
>> [...]
>
> Jonathan, I understand your point, but still I can't find an answer to
> clarify my doubts.
>
> Are we asking for no UB in @safe code?
> Are we asking for UB in @safe code but constrained to no memory
> corruptions?
>
> /Paolo
UB is unconstrained by definition. If it is constrained, it is not UB.
More information about the Digitalmars-d
mailing list