Changes in / [848439f:41b8ea4]


Ignore:
Location:
src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • src/ResolvExpr/ResolveAssertions.cc

    r848439f r41b8ea4  
    277277                        const DeclarationWithType * candidate = cdata.id;
    278278
    279                         // build independent unification context for candidate
     279                        // ignore deleted candidates.
     280                        // NOTE: this behavior is different from main resolver.
     281                        // further investigations might be needed to determine
     282                        // if we should implement the same rule here
     283                        // (i.e. error if unique best match is deleted)
     284                        if (candidate->isDeleted) continue;
     285
     286                        // build independent unification context. for candidate
    280287                        AssertionSet have, newNeed;
    281288                        TypeEnvironment newEnv{ resn.alt.env };
  • src/ResolvExpr/SatisfyAssertions.cpp

    r848439f r41b8ea4  
    170170                        const ast::DeclWithType * candidate = cdata.id;
    171171
     172                        // ignore deleted candidates.
     173                        // NOTE: this behavior is different from main resolver.
     174                        // further investigations might be needed to determine
     175                        // if we should implement the same rule here
     176                        // (i.e. error if unique best match is deleted)
     177                        if (candidate->isDeleted) continue;
     178
    172179                        // build independent unification context for candidate
    173180                        ast::AssertionSet have, newNeed;
  • src/SymTab/Autogen.cc

    r848439f r41b8ea4  
    339339                } catch ( SemanticErrorException & ) {
    340340                        // okay if decl does not resolve - that means the function should not be generated
    341                         delete dcl;
     341                        // delete dcl;
     342                        delete dcl->statements;
     343                        dcl->statements = nullptr;
     344                        dcl->isDeleted = true;
     345                        definitions.push_back( dcl );
     346                        indexer.addId( dcl );
    342347                }
    343348        }
Note: See TracChangeset for help on using the changeset viewer.