Index: boost/proto/operators.hpp =================================================================== --- boost/proto/operators.hpp (revision 66967) +++ boost/proto/operators.hpp (working copy) @@ -62,6 +62,10 @@ template struct enable_binary : boost::lazy_enable_if_c< + //Trait::value + //lazy_matches, Grammar>::value + //lazy_matches, Grammar>::value + //lazy_matches, Grammar>::value boost::mpl::and_< Trait , lazy_matches, Grammar> @@ -105,7 +109,7 @@ , BOOST_PROTO_APPLY_UNARY_(TRAIT, Arg) \ , TAG \ , Arg \ - >::type const \ + >::type \ operator OP(Arg &arg BOOST_PROTO_UNARY_OP_IS_POSTFIX_ ## POST) \ { \ return boost::proto::detail::make_expr_()(arg); \ @@ -118,7 +122,7 @@ , BOOST_PROTO_APPLY_UNARY_(TRAIT, Arg) \ , TAG \ , Arg const \ - >::type const \ + >::type \ operator OP(Arg const &arg BOOST_PROTO_UNARY_OP_IS_POSTFIX_ ## POST) \ { \ return boost::proto::detail::make_expr_()(arg); \ @@ -134,7 +138,7 @@ , TAG \ , Left \ , Right \ - >::type const \ + >::type \ operator OP(Left &left, Right &right) \ { \ return boost::proto::detail::make_expr_()(left, right); \ @@ -148,7 +152,7 @@ , TAG \ , Left \ , Right const \ - >::type const \ + >::type \ operator OP(Left &left, Right const &right) \ { \ return boost::proto::detail::make_expr_()(left, right); \ @@ -162,7 +166,7 @@ , TAG \ , Left const \ , Right \ - >::type const \ + >::type \ operator OP(Left const &left, Right &right) \ { \ return boost::proto::detail::make_expr_()(left, right); \ @@ -176,7 +180,7 @@ , TAG \ , Left const \ , Right const \ - >::type const \ + >::type \ operator OP(Left const &left, Right const &right) \ { \ return boost::proto::detail::make_expr_()(left, right);\