Index: boost/spirit/home/phoenix/core/detail/function_eval.hpp =================================================================== --- boost/spirit/home/phoenix/core/detail/function_eval.hpp (revision 48294) +++ boost/spirit/home/phoenix/core/detail/function_eval.hpp (working copy) @@ -32,7 +32,7 @@ template struct result { - typedef typename F::template result::type function; + typedef typename remove_reference< typename F::template result::type >::type function; typedef typename function::result_type type; }; @@ -96,7 +96,7 @@ , BOOST_PP_ENUM_PARAMS(N, typename A)> struct result { - typedef typename F::template result::type function; + typedef typename remove_reference< typename F::template result::type >::type function; BOOST_PP_REPEAT(N, PHOENIX_GET_ARG, _) typedef BOOST_PP_CAT(mpl::vector, N)