Hi,

I want to make a type which has two fields x and y but can
also be indexed with [0] and [1] checked at compile time.

Is the following reasonable / correct?

    struct Point
    {
      double x;
      double y;
      alias expand = typeof(this).tupleof;
      alias expand this;
    }
    unittest
    {
      Point p = Point(1.2,3.4);
      assert(p[0]==1.2);
      assert(p[1]==3.4);
      assert(!__traits(compiles,Point.init[3]));
    }

Reply via email to