[GSOC] Database API
Piotr Szturmaj
bncrbme at jadamspam.pl
Sat Mar 26 15:18:01 PDT 2011
Kagamin wrote:
> Robert Jacques Wrote:
>
>>> Should be Algebraic!(T, void). If that doesn't currently compile, we
>>> should make it compile.
>>>
>>> Andrei
>>
>> For what it's worth, both Algebraic!(T, void*) and Algebraic!(T, void)
>> compile on my branch of std.variant.
>
> can't assign null
>
> alias Algebraic!(int,void) nint;
> nint n1=5;
> assert(n1==5);
> n1=null;
>
> \std\variant.d:497: Error: static assert "Cannot store a void* in a VariantN!(maxSize,int,void). Valid types are (int, void)"
> test.d:45: instantiated from here: opAssign!(void*)
Yes, compiler qualifies null as void*.
I was playing with void* version few weeks ago and I can confirm that
both assignment and equality testing works for nulls.
One thing I missed was lack of conversion to string "null". For example
array of Algebraic!(int, void*) was printed as [0, 0, 2], when element 1
was null. I think it should rather be [0, null, 2].
More information about the Digitalmars-d
mailing list