checkedint call removal
via Digitalmars-d
digitalmars-d at puremagic.com
Fri Aug 1 03:42:48 PDT 2014
On Friday, 1 August 2014 at 09:02:36 UTC, Walter Bright wrote:
> On 7/31/2014 11:24 PM, "Ola Fosheim Grøstad"
> <ola.fosheim.grostad+dlang at gmail.com>" wrote:
>> On Friday, 1 August 2014 at 02:44:51 UTC, Walter Bright wrote:
>>>> That entry makes no mention of assert being used as an
>>>> optimization hint.
>>>>
>>> Saying that a predicate is always true means it's available
>>> to the optimizer.
>>
>> An assert does not say that the predicate is always true.
>
> Yes, it does. From Meyers' comprehensive tome on the topic
> "Object-Oriented Software Construction" (1997) where he writes:
>
> "A run-time assertion violation is the manifestation of a bug
> in the software."
>
> -- pg. 346
>
> In fact, Meyers calls it "rule (1)" of assertions.
No, the statement in this quote does not imply that it is always
true. It says that there is a bug if it isn't, which obviously
wouldn't make any sense if the predicate were always true.
An assertion doesn't tell the compiler that a predicate is true,
it tells the compiler to _check whether_ it is true.
More information about the Digitalmars-d
mailing list