Changeset 8f31be6 for src/ResolvExpr/Unify.cc
- Timestamp:
- Jul 6, 2023, 11:07:27 AM (15 months ago)
- Branches:
- master
- Children:
- b4d2b3b
- Parents:
- c8bf1b5
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/ResolvExpr/Unify.cc
rc8bf1b5 r8f31be6 1298 1298 auto var1 = dynamic_cast< const ast::TypeInstType * >( type1 ); 1299 1299 auto var2 = dynamic_cast< const ast::TypeInstType * >( type2 ); 1300 ast::OpenVarSet::const_iterator1301 entry1 = var1 ? open.find( *var1 ) : open.end(),1302 entry2 = var2 ? open.find( *var2 ) : open.end();1303 // bool isopen1 = entry1 != open.end();1304 // bool isopen2 = entry2 != open.end();1305 1300 bool isopen1 = var1 && env.lookup(*var1); 1306 1301 bool isopen2 = var2 && env.lookup(*var2); 1307 1302 1308 /*1309 if ( isopen1 && isopen2 ) {1310 if ( entry1->second.kind != entry2->second.kind ) return false;1311 return env.bindVarToVar(1312 var1, var2, ast::TypeData{ entry1->second, entry2->second }, need, have,1313 open, widen );1314 } else if ( isopen1 ) {1315 return env.bindVar( var1, type2, entry1->second, need, have, open, widen );1316 } else if ( isopen2 ) {1317 return env.bindVar( var2, type1, entry2->second, need, have, open, widen, symtab );1318 } */1319 1303 if ( isopen1 && isopen2 ) { 1320 1304 if ( var1->base->kind != var2->base->kind ) return false; … … 1326 1310 } else if ( isopen2 ) { 1327 1311 return env.bindVar( var2, type1, ast::TypeData{var2->base}, need, have, open, widen ); 1328 } else {1312 } else { 1329 1313 return ast::Pass<Unify_new>::read( 1330 1314 type1, type2, env, need, have, open, widen ); 1331 1315 } 1332 1333 1316 } 1334 1317
Note: See TracChangeset
for help on using the changeset viewer.