From 51072bd6bf79ef2bc6a922079bff57c31c1effbc Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Sat, 23 Jul 2016 20:47:26 +0000 Subject: Vendor import of libc++ release_39 branch r276489: https://llvm.org/svn/llvm-project/libcxx/branches/release_39@276489 --- .../tuple.tuple/tuple.cnstr/convert_move.pass.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'test/std/utilities/tuple/tuple.tuple/tuple.cnstr/convert_move.pass.cpp') diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/convert_move.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/convert_move.pass.cpp index 3a6abd3a95af..8423f5d0145f 100644 --- a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/convert_move.pass.cpp +++ b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/convert_move.pass.cpp @@ -20,6 +20,16 @@ #include #include +struct Explicit { + int value; + explicit Explicit(int x) : value(x) {} +}; + +struct Implicit { + int value; + Implicit(int x) : value(x) {} +}; + struct B { int id_; @@ -81,4 +91,14 @@ int main() assert(std::get<1>(t1) == int('a')); assert(std::get<2>(t1)->id_ == 3); } + { + std::tuple t1(42); + std::tuple t2(std::move(t1)); + assert(std::get<0>(t2).value == 42); + } + { + std::tuple t1(42); + std::tuple t2 = std::move(t1); + assert(std::get<0>(t2).value == 42); + } } -- cgit v1.2.3