https://issues.dlang.org/show_bug.cgi?id=13354

          Issue ID: 13354
           Summary: Algebraic.opIndex/opIndexAssign makes wrong
                    assumptions on the index/value type
           Product: D
           Version: D2
          Hardware: Other
                OS: All
            Status: NEW
          Severity: normal
          Priority: P1
         Component: Phobos
          Assignee: [email protected]
          Reporter: [email protected]

Currently both, the index and the value type for VariantN.opIndex(Assign) must 
be allowed!T. This is an unreasonable assumption for Algebraic and examples 
such as the following do not work because of this:

---
alias T = Algebraic!(int[string], int[]);
T v = ["a": 1, "b": 2];
assert(v["a"] == 1); // error
v["a"] = 0; // error
---

--

Reply via email to