Implement LWG#2855 - made easy by previous refactoring

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@300218 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Marshall Clow
2017-04-13 16:57:42 +00:00
parent b975b451af
commit 6403571b40
3 changed files with 14 additions and 4 deletions

View File

@@ -243,8 +243,8 @@ throw_with_nested (_Tp& __t)
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
{
#ifndef _LIBCPP_NO_EXCEPTIONS
typedef typename remove_reference<_Tp>::type _Up;
// static_assert( is_copy_constructible<_Up>::value, "");
typedef typename decay<_Tp>::type _Up;
static_assert( is_copy_constructible<_Up>::value, "type thrown must be CopyConstructible");
__throw_with_nested<_Tp, _Up,
is_class<_Up>::value &&
!is_base_of<nested_exception, _Up>::value &&