Boost C++ Libraries: Ticket #10291: path doesn't have move constructor/assignment operator https://svn.boost.org/trac10/ticket/10291 <p> path specifies an explicit copy constructor &amp; assigment operator which AFAIK turns off the implicit move constructor/assignment operator. </p> <p> This violates the documentation &amp; expected behaviour: adding a boost filesystem path as a member variable disallows the ability to have the default move constructor be noexcept move (need to explicitly define the move constructor). </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/10291 Trac 1.4.3 anonymous Fri, 01 Aug 2014 22:59:12 GMT <link>https://svn.boost.org/trac10/ticket/10291#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/10291#comment:1</guid> <description> <p> There are three solutions to this problem: </p> <p> 1) Delete the explicit copy constructor/copy assignment operator 2) Explicitly define the move constructor/assignment operator 3) Define the move constructor/assignment operator as = default </p> <p> I personally prefer <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/1" title="#1: Bugs: boost.build causes ftjam to segfault (closed: Wont Fix)">#1</a>, then <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/3" title="#3: Bugs: automatic conversion and overload proble (closed: fixed)">#3</a>. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Beman Dawes</dc:creator> <pubDate>Sat, 02 Aug 2014 16:14:26 GMT</pubDate> <title>status, milestone changed https://svn.boost.org/trac10/ticket/10291#comment:2 https://svn.boost.org/trac10/ticket/10291#comment:2 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">assigned</span> </li> <li><strong>milestone</strong> <span class="trac-field-old">To Be Determined</span> → <span class="trac-field-new">Boost 1.57.0</span> </li> </ul> <p> Work has started to bring the library into alignment with the C++ committee File System Technical Specification. That should clear this problem. The ticket will be left open until the changes are committed. </p> <p> Thanks, </p> <p> --Beman </p> Ticket Beman Dawes Sun, 06 Sep 2015 20:49:00 GMT status, milestone changed; resolution set https://svn.boost.org/trac10/ticket/10291#comment:3 https://svn.boost.org/trac10/ticket/10291#comment:3 <ul> <li><strong>status</strong> <span class="trac-field-old">assigned</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> <li><strong>milestone</strong> <span class="trac-field-old">Boost 1.57.0</span> → <span class="trac-field-new">Boost 1.60.0</span> </li> </ul> <p> For Boost 1.60.0 on compilers with the required C++11 features, the filesystem library will support move constructors and move assignments called for in the C++ File System Technical Specification, TS 18822. </p> <p> These changes have been made on my local develop branch and testing is underway. They should be available in a day or two on the <a class="ext-link" href="https://github.com/boostorg/filesystem"><span class="icon">​</span>https://github.com/boostorg/filesystem</a> develop branch, and will be merged to master as soon as sufficient regression tests have cycled. </p> <p> Thanks, </p> <p> --Beman </p> Ticket