From 095583f1fbab20937720f9311ddb9945ff2b9224 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 18 Apr 2022 10:03:13 +0200 Subject: Switch recipe from std::function to butl::move_only_function_ex --- libbuild2/adhoc-rule-buildscript.cxx | 34 ++++------------------------------ 1 file changed, 4 insertions(+), 30 deletions(-) (limited to 'libbuild2/adhoc-rule-buildscript.cxx') diff --git a/libbuild2/adhoc-rule-buildscript.cxx b/libbuild2/adhoc-rule-buildscript.cxx index 78891b9..aa30552 100644 --- a/libbuild2/adhoc-rule-buildscript.cxx +++ b/libbuild2/adhoc-rule-buildscript.cxx @@ -770,23 +770,10 @@ namespace build2 mdb->bs = &bs; mdb->mt = update ? timestamp_nonexistent : mt; - // @@ TMP: re-enable once recipe becomes move_only_function. - // -#if 0 - return [this, md = move (mdb)] (action a, const target& t) mutable - { - auto r (perform_update_file_dyndep_byproduct (a, t, *md)); - md.reset (); // @@ TMP: is this really necessary (+mutable)? - return r; - }; -#else - t.data (move (mdb)); - return recipe ([this] (action a, const target& t) mutable + return [this, md = move (mdb)] (action a, const target& t) { - auto md (move (t.data> ())); return perform_update_file_dyndep_byproduct (a, t, *md); - }); -#endif + }; } else { @@ -819,23 +806,10 @@ namespace build2 md->mt = update ? timestamp_nonexistent : mt; md->deferred_failure = deferred_failure; - // @@ TMP: re-enable once recipe becomes move_only_function. - // -#if 0 - return [this, md = move (md)] (action a, const target& t) mutable - { - auto r (perform_update_file_dyndep (a, t, *md)); - md.reset (); // @@ TMP: is this really necessary (+mutable)? - return r; - }; -#else - t.data (move (md)); - return recipe ([this] (action a, const target& t) mutable + return [this, md = move (md)] (action a, const target& t) { - auto md (move (t.data> ())); return perform_update_file_dyndep (a, t, *md); - }); -#endif + }; } } -- cgit v1.1