Movement against float.init being nan
Timon Gehr
timon.gehr at gmx.ch
Wed Aug 31 01:43:23 UTC 2022
On 31.08.22 00:08, Walter Bright wrote:
> On 8/30/2022 9:25 AM, Salih Dincer wrote:
>> On Tuesday, 30 August 2022 at 16:16:38 UTC, Adam D Ruppe wrote:
>>> On Tuesday, 30 August 2022 at 15:50:48 UTC, Walter Bright wrote:
>>>> -release is for people who do speed benchmarks.
>>>
>>> The documentation should outright say then "never use this unless you
>>> are cheating on an artificial speed benchmark".
>>
>> -release says use me in terms of meaning, but masters says don't use
>> it. I didn't know it had such dire consequences. This is an issue that
>> affects contract programming.
>
> It's not dire.
I think the term is fitting. Contracts are meant to support correctness,
not to help exacerbate vulnerabilities.
> It's just necessary to understand what's happening.
People do not understand this. People barely understand undefined
behavior. E.g., there were presentations at dconf where people were
like: "we tested it [the piece of code with UB] and it worked, hence it
is correct".
A somewhat common use case is to disable contract/assert checking. Most
people just assume that's what happens because introducing UB is not
reasonable behavior.
> People who do speed benchmarks rarely do more than glance at the
> documentation, if that.
>
People who don't know how to use the language usually write slow code
anyway. (And it often computes only NaNs.)
More information about the Digitalmars-d
mailing list