
On 05/02/2011 21:01, Frédéric Bron wrote:
BOOST_STATIC_ASSERT(( boost::has_operator_left_shift< std::ostream, int>::value ));
This one still produces the following warning (with both vc80 and vc100) : boost/type_traits/detail/has_binary_operator.hpp(102): warning C4913: user defined binary operator ',' exists but no overload could convert all operands, default built-in binary operator ',' used boost/type_traits/detail/has_binary_operator.hpp(136) : see reference to class template instantiation 'boost::detail::has_operator_left_shift_impl::has_operator_left_shift_impl1<LHS,RHS,RET,forbidden_if>' being compiled with [ LHS=std::ostream, RHS=int, RET=void, forbidden_if=false ] boost/type_traits/detail/has_binary_operator.hpp(141) : see reference to class template instantiation 'boost::detail::has_operator_left_shift_impl::has_operator_left_shift_impl<LHS,RHS,RET>' being compiled with [ LHS=std::ostream, RHS=int, RET=void ] ..... : see reference to class template instantiation 'boost::has_operator_left_shift<LHS,RHS>' being compiled with [ LHS=std::ostream, RHS=int ] The assert still passes successfully though. Cheers, MAT.