On 2016-01-18 22:11, Andrey Semashev wrote:
On 2016-01-18 21:03, Daniel Frey wrote:
On 17.01.2016, at 10:51, John M. Dlugosz
wrote: The use of make_shared is finding boost::make_shared as well as std::make_shared. The program doesn't use boost::shared_ptr and shouldn't need to know about it.
This can not be simply “fixed” as it is quite an old and established interface. What about the people that actually rely on ADL to kick in to find their unqualified call of make_shared?
Given that there is BOOST_NO_OPERATORS_IN_NAMESPACE, I don't think that the addition of the boost namespace to ADL was ever intended. I would rather see this fixed and the code that relies on this side effect broken (with the appropriate note in the release notes and the advice to use namespace qualification to resolve the problem).
I forgot to mention there was a similar issue with Boost.Iterator not long ago, which was resolved the similar way.