On Thursday, 18 September 2014 at 21:14:55 UTC, Ali Çehreli wrote:
On 09/18/2014 02:06 PM, ddos wrote:
The following code fails because Vec2.length() does not return int ... so Variant is only usable with types that do not have a method with name
length() ?? i'm confused

On Thursday, 18 September 2014 at 21:03:47 UTC, ddos wrote:
struct Vec2
{
   float[2] vec;

   public float length()
   {
       return sqrt(vec[0]*vec[0]+vec[1]*vec[1]);
   }
}

int main(string[] argv)
{
   Vec2 test;
   Variant v = test;
   return 0;
}


Compiles and runs without error with dmd git head, after adding the following two lines: ;)

import std.math;
import std.variant;

Ali

It shouldn't work in dmd git head. See Andrei's answer in
https://issues.dlang.org/show_bug.cgi?id=5501

Reply via email to