From 5c3ae8223ae5bddd749f564c79ef87574a8352e2 Mon Sep 17 00:00:00 2001 From: Denis Blank Date: Wed, 4 Oct 2017 16:56:56 +0200 Subject: [PATCH] Materialize the continuable before applying transforms --- include/continuable/continuable-base.hpp | 2 +- include/continuable/continuable.hpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/continuable/continuable-base.hpp b/include/continuable/continuable-base.hpp index db3063f..569f00a 100644 --- a/include/continuable/continuable-base.hpp +++ b/include/continuable/continuable-base.hpp @@ -321,7 +321,7 @@ public: /// \since version 2.0.0 template auto apply(T&& transform) && { - return std::forward(transform)(std::move(*this)); + return std::forward(transform)(std::move(*this).materialize()); } /// The pipe operator | is an alias for the continuable::then method. diff --git a/include/continuable/continuable.hpp b/include/continuable/continuable.hpp index b40e33e..e21703e 100644 --- a/include/continuable/continuable.hpp +++ b/include/continuable/continuable.hpp @@ -72,7 +72,7 @@ using unique_continuable = typename detail::unique_trait_of< Args... >::continuable; -/// Defines a non-copyable promise type which using the +/// Defines a non-copyable promise type which is using the /// function2 backend for type erasure. /// /// Usable like: `promise`