Subject: [Boost-bugs] [Boost C++ Libraries] #1492: Request to remove move() from top level boost namespace
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2007-12-01 23:04:57
#1492: Request to remove move() from top level boost namespace
--------------------------------------+-------------------------------------
Reporter: mat-lists_at_[hidden] | Owner: anthonyw
Type: Bugs | Status: new
Milestone: Boost 1.35.0 | Component: threads
Version: Boost Development Trunk | Severity: Problem
Keywords: move top level namespace |
--------------------------------------+-------------------------------------
From the boost list:
Mat Marcus wrote:
I recently received a bug
report against boost-dependent library that I work on (Adobe Source
Libraries). One of our components supports move semantics. It makes
use of a free function named move in namespace adobe. We were calling
it unqualified from within other library routines. With boost 1.35
this will have to change. Why? Because some classes in the adobe
library inherit from boost::equality_comparable. As a result, when
adobe::move is called with such boost-derived classes, ADL pulls in
the boost namespace and an ambiguity arises against the boost::move
supplied by boost::thread. One might argue that best practice in the
face of ADL is to be defensive and to avoid unqualified calls (when
replaceability is not the intent). In fact, I will do just this for
our next release. However this would be a little bit more pleasant if
thread's boost::move was intended as a documented boost-wide
move-semantics component. In fact we might consider dropping our own
move component if such a boost component existed. At present however,
it appears that the boost::move is more of a detail of boost/thread.
Are we sure that now is the time to put move in the top level boost
namespace?
Joel de Guzman responded: "... I consider it a bug that should be fixed."
John Maddock responded: "100% agreement from me: "move" is such a common
name that we can't afford to pollute namespace boost with it: unless we
really mean to of course :-)"
--
Ticket URL: <http://svn.boost.org/trac/boost/ticket/1492>
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:49:57 UTC