Variant opArithmetic

2012-09-18 Thread cal
Variant tries to mimic D's built-in rules for arithmetic conversions but: import std.variant, std.stdio; void main() { auto v1 = Variant(4.5f); auto v2 = Variant(3.5f); writeln((v1+v2).type()); // double } The reason is Variant doesn't try to convert to float in opArithmetic (it's is eas

Re: Variant opArithmetic

2012-09-18 Thread Andrei Alexandrescu
On 9/18/12 1:36 PM, cal wrote: Variant tries to mimic D's built-in rules for arithmetic conversions but: import std.variant, std.stdio; void main() { auto v1 = Variant(4.5f); auto v2 = Variant(3.5f); writeln((v1+v2).type()); // double } The reason is Variant doesn't try to convert to float in o

Re: Variant opArithmetic

2012-09-18 Thread cal
On Tuesday, 18 September 2012 at 19:02:33 UTC, Andrei Alexandrescu wrote: On 9/18/12 1:36 PM, cal wrote: Variant tries to mimic D's built-in rules for arithmetic conversions but: import std.variant, std.stdio; void main() { auto v1 = Variant(4.5f); auto v2 = Variant(3.5f); writeln((v1+v2).type