http://d.puremagic.com/issues/show_bug.cgi?id=10394

           Summary: opBinaryRight!"in" and tuple
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: regression
          Priority: P2
         Component: DMD
        AssignedTo: [email protected]
        ReportedBy: [email protected]


--- Comment #0 from Justin Whear <[email protected]> 2013-06-17 
13:48:39 PDT ---
The following code compiles with 2.062 but not with 2.063:
-------------------------------------------------------
import std.typetuple;

struct Cube
{
    alias Address = TypeTuple!(int, int);
    //alias Address = int;

    int* opBinaryRight(string op)(Address where)
    {
        return null;
    }
}

void main()
{
    Cube cube;
    cube.Address addr;
    auto ptr = addr in cube;
}
---------------------------------------------------------
In 2.063, DMD produces the following:
cube.d(18): Error: rvalue of in expression must be an associative array, not
Cube

Flipping the comments on the two "alias Address" lines causes the sample to
compile under both, so the problem is triggered by the use of a tuple as the
left side of the "in" operator.  Using DMD with -v indicates the trouble is
during the semantic3 phase.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------

Reply via email to