[Issue 7451] New: [Git regression] AAs broken for interfaces keys and values with opEquals

d-bugmail at puremagic.com d-bugmail at puremagic.com
Mon Feb 6 12:14:20 PST 2012


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

           Summary: [Git regression] AAs broken for interfaces keys and
                    values with opEquals
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Keywords: ice
          Severity: regression
          Priority: P2
         Component: druntime
        AssignedTo: nobody at puremagic.com
        ReportedBy: code at klickverbot.at


--- Comment #0 from klickverbot <code at klickverbot.at> 2012-02-06 12:14:17 PST ---
Very similar to issue 7365, using DMD and druntime from Git, this program

---
struct TickDuration {
  bool opEquals(ref const TickDuration rhs) const {
    return true;
  }
}

interface Test {}

AssociativeArray!(TickDuration, Test) aa;
---

fails with

---
object.di(379): Error: function object.opEquals (const(Object) lhs,
const(Object) rhs) is not callable using argument types
(const(Test),const(Test))
object.di(379): Error: cannot implicitly convert expression (this.value) of
type const(Test) to object.Object
object.di(379): Error: cannot implicitly convert expression (p.value) of type
const(Test) to object.Object
---

The error is encountered while generating the default opEquals for the Slot
type added in
https://github.com/D-Programming-Language/druntime/commit/cd7b477b83cc8a75a90258bd2ab63fa8c92ba10b.

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


More information about the Digitalmars-d-bugs mailing list