diff options
Diffstat (limited to 'test/std/utilities/tuple/tuple.tuple/tuple.cnstr/convert_move.pass.cpp')
-rw-r--r-- | test/std/utilities/tuple/tuple.tuple/tuple.cnstr/convert_move.pass.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
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 f34320144..2c24f786a 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 @@ -46,6 +46,20 @@ struct D explicit D(int i) : B(i) {} }; +struct BonkersBananas { + template <class T> + operator T() &&; + template <class T, class = void> + explicit operator T() && = delete; +}; + +void test_bonkers_bananas_conversion() { + using ReturnType = std::tuple<int, int>; + static_assert(std::is_convertible<BonkersBananas, ReturnType>(), ""); + static_assert(!std::is_constructible<ReturnType, BonkersBananas>(), ""); + +} + int main(int, char**) { { |