Changeset 6fa409e


Ignore:
Timestamp:
Aug 31, 2018, 10:14:28 AM (3 years ago)
Author:
Aaron Moss <a3moss@…>
Branches:
new-env
Parents:
1a59641
Message:

Fixed bug in breadth-first order, build exceeds local memory, can't test

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/ResolvExpr/AlternativeFinder.cc

    r1a59641 r6fa409e  
    691691                        DeclarationWithType* candidate = match.cdata.id;
    692692                        assertf( candidate->get_uniqueId(), "Assertion candidate does not have a unique ID: %s", toString( candidate ).c_str() );
     693                       
     694                        // everything with an empty idChain was pulled in by the current assertion.
     695                        // add current assertion's idChain + current assertion's ID so that the correct
     696                        // inferParameters can be found.
    693697                        for ( auto& a : match.need ) {
    694698                                if ( a.second.idChain.empty() ) {
     
    758762                        addToIndexer( match.have, resn.indexer );
    759763                        resn.newNeed.insert( match.need.begin(), match.need.end() );
     764                        resn.alt.env = std::move(match.env);
    760765                        resn.openVars = std::move(match.openVars);
    761                         resn.alt.env = std::move(match.env);
    762766
    763767                        bindAssertion( curDecl, assnInfo, resn.alt, match );
     
    865869                                                        AssertionPack match = el.match;
    866870                                                        addToIndexer( match.have, new_resn.indexer );
    867                                                         resn.newNeed.insert( match.need.begin(), match.need.end() );
     871                                                        new_resn.newNeed.insert( match.need.begin(), match.need.end() );
    868872                                                       
    869873                                                        bindAssertion( el.curDecl, el.assnInfo, new_resn.alt, match );
Note: See TracChangeset for help on using the changeset viewer.