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 --------------------------------------------