std.Variant issues
Pedro Ferreira
ask at me.pt
Fri Mar 21 09:38:39 PDT 2008
The following program fails:
import std.stdio;
import std.variant;
Variant a;
Variant b;
void main ()
{
a=2;
b=3;
writeln(b-a);
}
With the error:
testar.d(11): Error: overloads VariantN!(maxSize)(VariantN!(maxSize)
rhs) and VariantN!(maxSize)(VariantN!(maxSize)
lhs) both match argument list for opSub
Also:
a="3";
writeln(a.coerce!(int)());
compiles successfully but does not run:
Error: Variant: attempting to use incompatible types invariant(char)[]
and real
even though the documentation states it shouldn't fail:
If the VariantN object is a string, a parse of the string to type T is
attempted. If a conversion is not possible, throws a VariantException.
And lastly, the documentation states that a VariantException is thrown,
but the output shows an "Error", not an Exception.
Is this a bug that needs to be filed? Or is it me that misunderstood
something?
More information about the Digitalmars-d-bugs
mailing list