Changes in / [273ff10:ec7f50a]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/ResolvExpr/AlternativeFinder.cc
r273ff10 rec7f50a 474 474 } 475 475 476 // mark specialization cost of return types 477 for ( DeclarationWithType* returnVal : function->returnVals ) { 478 convCost.decSpec( specCost( returnVal->get_type() ) ); 479 } 476 // specialization cost of return types can't be accounted for directly, it disables 477 // otherwise-identical calls, like this example based on auto-newline in the I/O lib: 478 // 479 // forall(otype OS) { 480 // void ?|?(OS&, int); // with newline 481 // OS& ?|?(OS&, int); // no newline, always chosen due to more specialization 482 // } 480 483 481 484 // mark type variable and specialization cost of forall clause … … 1229 1232 Alternative newAlt{ 1230 1233 restructureCast( alt.expr->clone(), toType, castExpr->isGenerated ), 1231 alt.env, openVars, needAssertions, alt.cost + thisCost,thisCost };1234 alt.env, openVars, needAssertions, alt.cost, alt.cost + thisCost }; 1232 1235 inferParameters( newAlt, back_inserter( candidates ) ); 1233 1236 } // if
Note: See TracChangeset
for help on using the changeset viewer.