This is the mail archive of the
mailing list for the libstdc++ project.
Failing test when run as C++11
- From: Jonathan Wakely <jwakely at redhat dot com>
- To: libstdc++ at gcc dot gnu dot org
- Date: Fri, 9 May 2014 11:53:21 +0100
- Subject: Failing test when run as C++11
- Authentication-results: sourceware.org; auth=none
20_util/specialized_algorithms/uninitialized_copy/808590.cc fails if
run in C++11 mode because is_nothrow_move_constructible<c> is false,
which means vector::resize() copies the elements using non-const
lvalue arguments, which selects the template constructor.
(In C++03 it copies from *const* lvalue arguments, selecting the copy
We can either fix it by adding throw() to the copy constructor, or by
adding a move cosntructor (with a comment explaining why):
#if __cplusplus >= 201103L
c(c&&) = default;
I can't decide which I prefer, does anyone else have a preference?