Re: [Boost-bugs] [Boost C++ Libraries] #11132: Boost.Variant's boost::recursive_wrapper missing noexcept specifier on move constructor

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #11132: Boost.Variant's boost::recursive_wrapper missing noexcept specifier on move constructor
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2015-03-22 01:49:38


#11132: Boost.Variant's boost::recursive_wrapper missing noexcept specifier on move
constructor
-------------------------------+---------------------
  Reporter: peterhuene@… | Owner: ebf
      Type: Bugs | Status: new
 Milestone: To Be Determined | Component: variant
   Version: Boost 1.57.0 | Severity: Problem
Resolution: | Keywords:
-------------------------------+---------------------

Comment (by peterhuene@…):

 Is invoking T's move constructor when the wrapper is moved really more
 important than maintaining move semantics for vector<recursive_variant_>
 and, by extension, the entire variant type?

 I get that the wrapper is supposed to be as transparent as possible to the
 user of the recursive variant (i.e. T's move constructor would normally be
 invoked on move), but, in my opinion, the intent of move semantics is
 still being adhered to if _p is moved instead of a new T allocated and
 then moved into.

 To put it another way: I think forcing copy semantics for recursive
 variants with sequence containers (for the sake of complete wrapper
 transparency?) to be unreasonably burdensome for users expecting their
 variants to be efficiently movable.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/11132#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:18 UTC