Low-Lock Singletons In D
Max Samukha
maxsamukha at gmail.com
Fri May 24 07:19:44 PDT 2013
On Friday, 24 May 2013 at 14:03:24 UTC, bearophile wrote:
> Max Samukha:
>
>> The question is what should be the result of:
>>
>> Nullable(int*)?
>> Nullable!(Nullable!T)?
>>
>> Forbidden (like in C#)? Aliased to the source type? A distinct
>> type?
>
> In D Nullable!(int*) needs to be a different type, because the
> interface is different between a pointer and a Nullable.
It could be normalized by free functions isNull(T)(T t),
nullableValue(T)(..) etc. Isn't that what was done to arrays so
they could support the range interface?
>
> But often you want to use something like Nullable(int*, null)
> or Nullable(int*, cast(int*)null) instead.
Do you have an example? In what cases is the distinction between
a null null int* and non-null null int* necessary?
>
> In the second case maybe it can be collapsed into a single
> Nullable, but such behavior needs to be documented.
Ok.
>
> Bye,
> bearophile
More information about the Digitalmars-d
mailing list