null dereference exception vs. segfault?
Pelle
pelle.mansson at gmail.com
Mon Aug 2 16:23:32 PDT 2010
On 08/03/2010 01:08 AM, bearophile wrote:
> Pelle:
>
>> struct NotNull(T) if(is(typeof(T.init !is null))) {
>
> Is this enough?
> struct NotNull(T) if (is(T.init is null)) {
>
>
>> this(T t) {
>> enforce(t !is null, "Cannot create NotNull from null");
>
> enforce() is bad, use Design by Contract instead (a precondition with an assert inside).
>
> Bye,
> bearophile
If NotNull will be in a library, it should probably use enforce, if I
have understood things correctly. External input, and all that. I think
most of phobos does it like this currently.
More information about the Digitalmars-d-learn
mailing list