id summary reporter owner description type status milestone component version severity resolution keywords cc 12621 property_tree::read_json does not work with BOOST_BIND_NO_PLACEHOLDERS ja2222ja@… Sebastian Redl "Minimal code example: {{{ #define BOOST_BIND_NO_PLACEHOLDERS #include #include using namespace std::placeholders; int main () { boost::property_tree::ptree pt; boost::property_tree::read_json(""lol"", pt); } }}} Visual Studio 2015 Update 3 with v120 toolkit generates: {{{ \lib\native\include\boost\bind\bind.hpp(319): error C2664: 'void boost::_mfi::mf1,char>::operator ()(T *,A1) const' : cannot convert argument 2 from 'std::_Ph<1>' to 'char' 1> with 1> [ 1> Ptree=boost::property_tree::ptree 1> , T=boost::property_tree::json_parser::detail::standard_callbacks 1> , A1=char 1> ] 1> No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called }}} First affected version: 1.59 [which introduces the new json parser] My investigation shows that {{{property_tree::json_parser::detail::standard_callbacks::operator()}}} uses unqualified {{{_1}}} symbol. Since {{{#define BOOST_BIND_NO_PLACEHOLDERS}}} is used, compiler don't know nothing about {{{_1}}}. Error msg generated in msvc shows that {{{boost::bind}}} is messed up with {{{std::placeholders::_1}}}. The problem might be causes by no two-phase-lookup in {{{cl}}}. {{{using namespace std::placeholders}}} affects mentioned {{{_1}}} usage in {{{operator()}}} since lookup for non dependent {{{_1}}} is done later. Fixing issue in boost should workaround the msvc issue. Please note that without {{{#define BOOST_BIND_NO_PLACEHOLDERS}}} everything works ok." Bugs new To Be Determined property_tree Boost 1.61.0 Regression kaballo86@…