[Boost-bugs] [Boost C++ Libraries] #12397: static_assert in arg.hpp failing when using boost::placeholder with std::bind

Subject: [Boost-bugs] [Boost C++ Libraries] #12397: static_assert in arg.hpp failing when using boost::placeholder with std::bind
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2016-08-17 10:42:49


#12397: static_assert in arg.hpp failing when using boost::placeholder with
std::bind
------------------------------+------------------------
 Reporter: anonymous | Owner: pdimov
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: bind
  Version: Boost 1.61.0 | Severity: Regression
 Keywords: |
------------------------------+------------------------
 In our project we currently use
 std::bind with boost::placeholers because boost::placeholders are already
 global namespace and some some of the dependency (header) libraries might
 depend on this so we can't use BOOST_BIND_NO_PLACEHOLDERS currently.


 So we make boost::placeholers work with std::bin with this code:
 {{{
 namespace std {
         template<int N>
         struct is_placeholder<boost::arg<N>> : public
 integral_constant<int, N> {};
 }
 }}}
 This worked fine, but since boost 1.60 when BOOST_CONSTEXPR was added to
 the boost::arg contructor the compliation fails for some of our developers
 with

 {{{
 error: static assertion failed: I == is_placeholder<T>::value
          BOOST_STATIC_ASSERT( I == is_placeholder<T>::value );
 }}}

 from arg.hpp

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/12397>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:20 UTC