[Issue 4860] Taking delegates to a member function broken if method is also aliased in from a base class

d-bugmail at puremagic.com d-bugmail at puremagic.com
Wed Sep 15 12:45:01 PDT 2010


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


Don <clugdbug at yahoo.com.au> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |clugdbug at yahoo.com.au


--- Comment #6 from Don <clugdbug at yahoo.com.au> 2010-09-15 12:44:27 PDT ---
Wrong-code bugs are always important.
Here's a mitigation patch to turn it into a rejects-valid bug.
Haven't tracked down the root cause yet, but there certainly should be an
assert in this function -- if it's a virtual function, it should have a
non-negative vtable index, not -1.

e2ir.c, line 3275.  DelegateExp::toElem()

    Symbol *sfunc;
    int directcall = 0;

    printf("DelegateExp::toElem() '%s'\n", toChars());
+    if (func->isVirtual() && func->vtblIndex < 0)
+        error("Internal compiler error: malformed delegate. See Bugzilla
4860");
    sfunc = func->toSymbol();
    if (func->isNested())

-- 
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