id summary reporter owner description type status milestone component version severity resolution keywords cc
9508 1.54 regression: boost/thread/once.hpp includes boost/placeholders.hpp luto@… Peter Dimov "{{{
#include
#include
using namespace std::placeholders;
static int x = sizeof(_1);
}}}
The code above compiles in C++11 mode on boost 1.53, but it fails on boost 1.54 like this:
{{{
boost_bind_bug.cpp:6:23: error: reference to ‘_1’ is ambiguous
static int x = sizeof(_1);
^
In file included from boost_bind_bug.cpp:1:0:
/usr/include/c++/4.8.2/functional:1004:34: note: candidates are: const std::_Placeholder<1> std::placeholders::_1
extern const _Placeholder<1> _1;
^
In file included from /usr/include/boost/bind/bind.hpp:1742:0,
from /usr/include/boost/bind.hpp:22,
from /usr/include/boost/thread/pthread/once_atomic.hpp:19,
from /usr/include/boost/thread/once.hpp:20,
from boost_bind_bug.cpp:2:
/usr/include/boost/bind/placeholders.hpp:55:15: note: boost::arg<1> {anonymous}::_1
boost::arg<1> _1;
^
}}}
This magic inclusion of boost/bind/placeholders.hpp is extremely impolite." Bugs new To Be Determined bind Boost 1.54.0 Regression