@@ -974,22 +974,19 @@ void Evaluator::traceOutwardsIC(
974974 }
975975
976976 // merge the two sets
977- std::unordered_set<ConnectionEnd> const * connectionEnds;
977+ std::unordered_set<ConnectionEnd> connectionEnds = {} ;
978978 if (connectionEnds1 && connectionEnds2) {
979- std::unordered_set<ConnectionEnd> mergedConnectionEnds;
980- mergedConnectionEnds.clear ();
981- mergedConnectionEnds.insert (connectionEnds1->begin (), connectionEnds1->end ());
982- mergedConnectionEnds.insert (connectionEnds2->begin (), connectionEnds2->end ());
983- connectionEnds = &mergedConnectionEnds;
979+ connectionEnds.insert (connectionEnds1->begin (), connectionEnds1->end ());
980+ connectionEnds.insert (connectionEnds2->begin (), connectionEnds2->end ());
984981 } else if (connectionEnds1) {
985- connectionEnds = connectionEnds1;
982+ connectionEnds = * connectionEnds1;
986983 } else {
987- connectionEnds = connectionEnds2;
984+ connectionEnds = * connectionEnds2;
988985 }
989986
990987 circuitPortDependencies.insert ({ circuitId, connectionEndId });
991988
992- for (const ConnectionEnd& connectionEnd : * connectionEnds) {
989+ for (const ConnectionEnd& connectionEnd : connectionEnds) {
993990 const Block* targetBlock = parentCircuitBlockContainer->getBlock (connectionEnd.getBlockId ());
994991 if (!targetBlock) {
995992 logError (" Target block not found for connectionEnd {}" , " Evaluator::traceOutwardsIC" , connectionEnd.toString ());
0 commit comments