Boost logo

Boost :

Subject: Re: [boost] Boost.Operators issue: polluting namespace of caller through argument-dependent lookup
From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2016-01-18 14:15:02


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 <mpbecey7gu_at_[hidden]>
>>> 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.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk