assert and enforce both compiled out with -release
kdevel
kdevel at vogtner.de
Sat Jan 27 18:33:36 UTC 2018
On Saturday, 27 January 2018 at 18:00:32 UTC, rjframe wrote:
> I think I see what you mean; you interpret "use asserts,
> because enforce will be compiled out" to imply that asserts
> wouldn't be compiled out, correct?
Is there any other meaningful interpretation?
> Since, in reality, both would be compiled out, it shouldn't
> matter what you use, so the docs shouldn't care. That makes
> sense.
That's precisely my point.
> The documentation seems to assume the reader has certain
> expectations of assert and enforce[0], so each function
> expresses a different intention to the programmer; when I see
> `assert()` I expect those checks only in non- release mode;
> when I see `enforce()` I expect those checks regardless of the
> flags that have been set[1]. Placing `enforce` in a contract
> messes with that expectation.
Right.
> What language here would make more sense to you? Anything I can
> come up with is either awkward or pretty verbose.
I suggest the deletion of the sentence "Use assert in contracts."
More information about the Digitalmars-d-learn
mailing list