Re: [Boost-bugs] [Boost C++ Libraries] #8092: stdlibc++ shipped by Apple does not provide std::move

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #8092: stdlibc++ shipped by Apple does not provide std::move
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-03-03 13:33:52


#8092: stdlibc++ shipped by Apple does not provide std::move
-------------------------------+--------------------------------------------
  Reporter: anonymous | Owner: johnmaddock
      Type: Bugs | Status: new
 Milestone: To Be Determined | Component: config
   Version: Boost 1.53.0 | Severity: Showstopper
Resolution: | Keywords: xcode,osx,clang
-------------------------------+--------------------------------------------
Changes (by johnmaddock):

 * cc: mimomorin@… (added)

Comment:

 I'd rather not disable rvalue ref support as it disables a lot of
 functionality in other libraries which use rvalue refs but not
 std::move/forward.

 There are a number of solutions, none of which are really very nice:

 * Declare this combination of compiler/stdlib as unsupported - either the
 user has to manually define BOOST_NO_CXX11_RVALUE_REFERENCES when they hit
 this (probably breaks other stuff) or switch to a supported configuration.
 * Add yet another config macro for std::move/forward. Unfortunately this
 is not as easy as it looks as there is no easy correspondence between
 libstdc++ versions and features (normally the GCC version gives us that,
 but using clang messes that up as well).
 * Add our own std::move/forward as a workaround - but this shares the
 configuration hell we have in the above case as well.
 * Suggest library authors use boost::move - but may be a heavyweight
 solution?
 * Suggest library authors use simple type casts (to rvalue reference)
 rather than std::move - but this uglifies code.

 So... my inclination is to say "won't fix", but I'd welcome other ideas.

 Also adding Michel Morin into this as he's edited clang.hpp quite a bit.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/8092#comment:4>
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:50:12 UTC