Don <> changed:

           What    |Removed                     |Added
           Keywords|                            |patch, rejects-valid
                 CC|                            |
            Version|D1                          |D1 & D2
            Summary|override error with forward |Regression(2.050, 1.065)
                   |ref of superclass           |override error with forward
                   |                            |ref of superclass
         OS/Version|Mac OS X                    |All

--- Comment #1 from Don <> 2010-11-01 01:01:43 PDT ---
Applies to both D1 and D2.

This was caused by svn683, which fixed bug 3602 "ICE(tocsym.c) compiling a
class, if its super class has preconditions"

And the problem is that it's using the scope from the parent function, which
isn't quite right: some of the attributes should be dropped. I don't know if
anything other than STCoverride can cause problems.

func.c, FuncDeclaration::mergeFrequire, line 1688.

        FuncDeclaration *fdv = (FuncDeclaration *)[i];

        /* The semantic pass on the contracts of the overridden functions must
         * be completed before code generation occurs (bug 3602).
        if (fdv->fdrequire && fdv->fdrequire->semanticRun != PASSsemantic3done)
+            StorageClass oldstc = fdv->scope->stc;
+            fdv->scope->stc &= ~ STCoverride;
+            fdv->scope->stc = fdv->scope->stc;

        sf = fdv->mergeFrequire(sf);
        if (fdv->fdrequire)

Configure issuemail:
------- You are receiving this mail because: -------

Reply via email to