From 5267798b4849cdc650cc9b9bf919d4b79f4b23e7 Mon Sep 17 00:00:00 2001 From: Olivier Parcollet Date: Fri, 28 Mar 2014 17:20:16 +0100 Subject: [PATCH] arrays: a forgotten std::forward in lazy evaluations... A(i_,0) was not compiling due to a missing forward ... --- triqs/arrays/impl/indexmap_storage_pair.hpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/triqs/arrays/impl/indexmap_storage_pair.hpp b/triqs/arrays/impl/indexmap_storage_pair.hpp index 8341f117..968806c3 100644 --- a/triqs/arrays/impl/indexmap_storage_pair.hpp +++ b/triqs/arrays/impl/indexmap_storage_pair.hpp @@ -263,21 +263,21 @@ namespace triqs { namespace arrays { typename clef::_result_of::make_expr_call::type operator()( Args&&... args ) const & { static_assert(sizeof...(Args) <= indexmap_type::rank, "Incorrect number of variable in call");// not perfect : ellipsis ... - return make_expr_call(*this,args...); + return make_expr_call(*this,std::forward(args)...); } template< typename... Args> typename clef::_result_of::make_expr_call::type operator()( Args&&... args ) & { static_assert(sizeof...(Args) <= indexmap_type::rank, "Incorrect number of variable in call");// not perfect : ellipsis ... - return make_expr_call(*this,args...); + return make_expr_call(*this,std::forward(args)...); } template< typename... Args> typename clef::_result_of::make_expr_call::type operator()( Args&&... args ) && { static_assert(sizeof...(Args) <= indexmap_type::rank, "Incorrect number of variable in call");// not perfect : ellipsis ... - return make_expr_call(std::move(*this),args...); + return make_expr_call(std::move(*this),std::forward(args)...); } // ------------------------------- clef auto assign --------------------------------------------