Changeset 73a5cadb
- Timestamp:
- Nov 21, 2017, 3:34:11 PM (7 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- bd4f2e9
- Parents:
- 0872c42
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/ResolvExpr/AlternativeFinder.cc
r0872c42 r73a5cadb 607 607 expls(move(expls)) {} 608 608 609 ArgPack(const ArgPack& o, TypeEnvironment&& env, AssertionSet&& need, AssertionSet&& have, 610 OpenVarSet&& openVars, unsigned nextArg, Cost added ) 611 : parent(o.parent), expr(o.expr ? o.expr->clone() : nullptr), cost(o.cost + added), 612 env(move(env)), need(move(need)), have(move(have)), openVars(move(openVars)), 613 nextArg(nextArg), tupleStart(o.tupleStart), expls() {} 614 615 609 616 // ArgPack(const ArgPack& o) 610 617 // : parent(o.parent), expr(o.expr ? o.expr->clone() : nullptr), env(o.env), … … 747 754 if ( exploded.empty() ) { 748 755 // skip empty tuple arguments by (near-)cloning parent into next gen 749 results.emplace_back( 750 results[i] .parent, results[i].expr.get(), move(env),751 copy(results[i]. need), copy(results[i].have), move(openVars),752 j + 1, results[i].tupleStart, actual.cost + results[i].cost );756 results.emplace_back( 757 results[i], move(env), copy(results[i].need), 758 copy(results[i].have), move(openVars), j + 1, actual.cost ); 759 753 760 continue; 754 761 } … … 848 855 if ( exploded.empty() ) { 849 856 // skip empty tuple arguments by (near-)cloning parent into next gen 850 results.emplace_back( 851 results[i] .parent, results[i].expr.get(), move(env), move(need),852 move(have), move(openVars), j + 1, results[i].tupleStart,853 actual.cost + results[i].cost ); 857 results.emplace_back( 858 results[i], move(env), move(need), move(have), move(openVars), j + 1, 859 actual.cost ); 860 854 861 continue; 855 862 } … … 995 1002 // skip empty tuple arguments by (near-)cloning parent into next gen 996 1003 results.emplace_back( 997 results[i].parent, results[i].expr.get(), move(env), 998 copy(results[i].need), copy(results[i].have), move(openVars), 999 j + 1, results[i].tupleStart, actual.cost + results[i].cost ); 1004 results[i], move(env), copy(results[i].need), 1005 copy(results[i].have), move(openVars), j + 1, actual.cost ); 1000 1006 continue; 1001 1007 }
Note: See TracChangeset
for help on using the changeset viewer.