Ignore:
Timestamp:
May 2, 2023, 3:44:31 AM (13 months ago)
Author:
Fangren Yu <f37yu@…>
Branches:
ast-experimental, master
Children:
0c840fc
Parents:
1ab773e0
Message:

current progress

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/GenPoly/SpecializeNew.cpp

    r1ab773e0 r46da46b  
    112112        using namespace ResolvExpr;
    113113        ast::OpenVarSet openVars, closedVars;
    114         ast::AssertionSet need, have;
    115         findOpenVars( formalType, openVars, closedVars, need, have, FirstClosed );
    116         findOpenVars( actualType, openVars, closedVars, need, have, FirstOpen );
     114        ast::AssertionSet need, have; // unused
     115        ast::TypeEnvironment env; // unused
     116        // findOpenVars( formalType, openVars, closedVars, need, have, FirstClosed );
     117        findOpenVars( actualType, openVars, closedVars, need, have, env, FirstOpen );
    117118        for ( const ast::OpenVarSet::value_type & openVar : openVars ) {
    118119                const ast::Type * boundType = subs->lookup( openVar.first );
     
    124125                        if ( closedVars.find( *inst ) == closedVars.end() ) {
    125126                                return true;
     127                        }
     128                        else {
     129                                assertf(false, "closed: %s", inst->name.c_str());
    126130                        }
    127131                // Otherwise, the variable is bound to a concrete type.
Note: See TracChangeset for help on using the changeset viewer.