commit | 80e19ac90f90c5f2aef3d8a6a74b3ffd342ecd0e | [log] [tgz] |
---|---|---|
author | Howard Hinnant <hhinnant@apple.com> | Fri Aug 09 16:53:45 2013 +0000 |
committer | Howard Hinnant <hhinnant@apple.com> | Fri Aug 09 16:53:45 2013 +0000 |
tree | 3f75a32659c15781c6c7c36f8043b42e92db61e0 | |
parent | 5ea5d31f6d090becc33c236d91b6dd48a5d66e34 [diff] |
Add a check for arrays of unknown bounds to is_destructible. This fixes http://llvm.org/bugs/show_bug.cgi?id=16839 git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188080 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/type_traits b/include/type_traits index 99e34d1..b5eb40d 100644 --- a/include/type_traits +++ b/include/type_traits
@@ -1461,6 +1461,10 @@ struct is_destructible : public __destructible_imp<_Tp> {}; +template <class _Tp> +struct is_destructible<_Tp[]> + : public false_type {}; + // move #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
diff --git a/test/utilities/meta/meta.unary/meta.unary.prop/is_destructible.pass.cpp b/test/utilities/meta/meta.unary/meta.unary.prop/is_destructible.pass.cpp index cc7f75e..b4432df 100644 --- a/test/utilities/meta/meta.unary/meta.unary.prop/is_destructible.pass.cpp +++ b/test/utilities/meta/meta.unary/meta.unary.prop/is_destructible.pass.cpp
@@ -69,7 +69,9 @@ test_is_destructible<const int*>(); test_is_destructible<char[3]>(); test_is_destructible<bit_zero>(); + test_is_destructible<int[3]>(); + test_is_not_destructible<int[]>(); test_is_not_destructible<void>(); test_is_not_destructible<Abstract>(); #if __has_feature(cxx_access_control_sfinae)