[Boost-bugs] [Boost C++ Libraries] #1492: Request to remove move() from top level boost namespace

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