From 2bf63c6b4a6fb9f69df184dc69f3427ffd81c4a3 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Tue, 11 Mar 2014 11:42:07 +0100 Subject: Even ReturnByValue should not evaluate when assembling the expression --- Eigen/src/Core/ReturnByValue.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'Eigen/src/Core/ReturnByValue.h') diff --git a/Eigen/src/Core/ReturnByValue.h b/Eigen/src/Core/ReturnByValue.h index 7834f6cbc..d63b96138 100644 --- a/Eigen/src/Core/ReturnByValue.h +++ b/Eigen/src/Core/ReturnByValue.h @@ -33,6 +33,7 @@ struct traits > }; }; +#ifndef EIGEN_TEST_EVALUATORS /* The ReturnByValue object doesn't even have a coeff() method. * So the only way that nesting it in an expression can work, is by evaluating it into a plain matrix. * So internal::nested always gives the plain return matrix type. @@ -44,6 +45,13 @@ struct nested, n, PlainObject> { typedef typename traits::ReturnType type; }; +#else +template +struct nested_eval, n, PlainObject> +{ + typedef typename traits::ReturnType type; +}; +#endif } // end namespace internal -- cgit v1.2.3