[Issue 3010] ICE(mtype.c) function pointer type deduction puts compiler in corrupt state

d-bugmail at puremagic.com d-bugmail at puremagic.com
Sun May 24 13:24:24 PDT 2009


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





--- Comment #1 from Don <clugdbug at yahoo.com.au>  2009-05-24 13:24:23 PDT ---
I making really slow progress on this, so am including a progress update.

In mtype.c, TypeNext::makeInvariant(), there's a line:

    if (ty != Tfunction && ty != Tdelegate && next->deco &&
    !next->isInvariant())
    {    t->next = next->invariantOf();

But in the case where 'next' was created by auto type deduction, next->deco is
NULL, so next->invariantOf() never gets called, and we get a malformed
immutable type. I haven't yet worked out why next->deco is NULL when next is a
TypeFunction which was created through type inference. It could be  because it
began life as a TypeSymOff?

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