Against if (!expression) throw new Exception(msg);
Daniel Gibson
metalcaedes at gmail.com
Wed Mar 16 21:28:59 PDT 2011
I'd just like to summarize what useful stuff came out of this topic:
* enforce is useful and more than a "always activated assert" ;-)
* enforce prevents inlining and thus has negative impact on performance - this
should probably be fixed.
* enforce can't be used in weakly pure functions - this has the side-effect that
iota() (maybe other functions as well) can't be used in pure functions - this
should also be fixed. if fixing it is difficult /maybe/ if+throw should be used
in potentially (weakly) pure functions in phobos until it is fixed
* enforce's docs should probably mention null and false as well (even though
maybe "zero" implies that, but it'd be clearer)
- while I'm at it: I think the enforceEx signature in the docs is incomplete
* it *may* encourage using the generic Exception instead of a specific more
meaningful exception
- related: some places in phobos could use a more specific Exception, e.g. iota()
Cheers,
- Daniel
More information about the Digitalmars-d
mailing list