diff --git a/include/boost/phoenix/scope/lambda.hpp b/include/boost/phoenix/scope/lambda.hpp index 6df5321..71ff50e 100644 --- a/include/boost/phoenix/scope/lambda.hpp +++ b/include/boost/phoenix/scope/lambda.hpp @@ -205,9 +205,20 @@ namespace boost { namespace phoenix , meta_grammar > , proto::fold< - proto::_value(proto::_child_c<0>) - , mpl::true_() - , mpl::and_() + proto::call)> + , proto::make + , proto::make< + mpl::and_< + proto::_state + , proto::call< + evaluator( + proto::_ + , _context + , proto::make + ) + > + >() + > > > > diff --git a/include/boost/phoenix/scope/let.hpp b/include/boost/phoenix/scope/let.hpp index cd6f85f..5aa45e5 100644 --- a/include/boost/phoenix/scope/let.hpp +++ b/include/boost/phoenix/scope/let.hpp @@ -165,9 +165,20 @@ namespace boost { namespace phoenix : proto::make< mpl::and_< proto::fold< - proto::_value(proto::_child_c<0>) - , mpl::true_() - , mpl::and_() + proto::call)> + , proto::make + , proto::make< + mpl::and_< + proto::_state + , proto::call< + evaluator( + proto::_ + , _context + , proto::make + ) + > + >() + > > , evaluator( proto::_child_c<2>