[Bug libstdc++/78302] New: is_move_constructible_v<tuple<nonmovable>> should be false
rs2740 at gmail dot com
gcc-bugzilla@gcc.gnu.org
Thu Nov 10 22:38:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78302
Bug ID: 78302
Summary: is_move_constructible_v<tuple<nonmovable>> should be
false
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: rs2740 at gmail dot com
Target Milestone: ---
#include <tuple>
#include <type_traits>
struct nonmovable
{
nonmovable(nonmovable&&) = delete;
};
static_assert(!std::is_move_constructible_v<std::tuple<nonmovable>>); //fires
It's not clear whether this is required by the standard (the standard depicts a
defaulted move constructor, and core language rules say that a defaulted move
constructor is defined as deleted if a subobject cannot be moved), but in any
event this should probably return false as a QoI matter.
More information about the Gcc-bugs
mailing list