[Issue 3273] Regression(2.031): struct invariant + dtor fails to compile (no line number)

d-bugmail at puremagic.com d-bugmail at puremagic.com
Tue Sep 14 11:42:46 PDT 2010


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


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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |patch


--- Comment #5 from Don <clugdbug at yahoo.com.au> 2010-09-14 11:42:15 PDT ---
PATCH: A normal opAssign, such as in the case below, does not have 'isref' set. 

struct A {
    A opAssign(A a){ return this; }
}

Compiler-generated opAssign shouldn't either.


clone.c line 143,  StructDeclaration::buildOpAssign()
------------
    Parameter *param = new Parameter(STCnodtor, type, Id::p, NULL);
    Parameters *fparams = new Parameters;
    fparams->push(param);
    Type *ftype = new TypeFunction(fparams, handle, FALSE, LINKd);
-#if STRUCTTHISREF
-    ((TypeFunction *)ftype)->isref = 1;
-#endif

    fop = new FuncDeclaration(0, 0, Id::assign, STCundefined, ftype);

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