On 6/28/13 4:27 PM, develop32 wrote:
void main()
{
struct Vector
{
float length();
}

import std.variant;
Variant v = Vector();
}

Currently this does not work, as it seems Variant thinks length() is a
property restricted to arrays.

"cannot implicitly convert expression ((*zis).length()) of type float to
int C:\D\dmd2\src\phobos\std\variant.d 488"

I quickly changed that line in variant.do to "static if
(is(typeof(zis.length)) && is(ReturnType!(zis.length) == size_t))" and
my code compiles.

Currently its a hack, but should it be more developed and would it not
interfere with something else?

Could you please paste your note into a bug report? In a perfect world you may want to also submit a pull request!

Thanks,

Andrei

Reply via email to