diff --git a/src/aws-cpp-sdk-core/include/aws/core/utils/memory/AWSMemory.h b/src/aws-cpp-sdk-core/include/aws/core/utils/memory/AWSMemory.h index 16960f0a4659..6ffecd0f861c 100644 --- a/src/aws-cpp-sdk-core/include/aws/core/utils/memory/AWSMemory.h +++ b/src/aws-cpp-sdk-core/include/aws/core/utils/memory/AWSMemory.h @@ -304,7 +304,7 @@ namespace Aws template UniquePtr MakeUnique(const char* allocationTag, ArgTypes&&... args) { - static_assert(!std::is_array::value || std::is_trivial::value, + static_assert(!std::is_array::value || (std::is_trivially_default_constructible::value && std::is_trivially_copyable::value), "This wrapper/function is not designed to support non-trivial arrays."); return UniquePtr(Aws::New(allocationTag, std::forward(args)...)); } @@ -312,7 +312,7 @@ namespace Aws template, typename ...ArgTypes> UniquePtrSafeDeleted MakeUniqueSafeDeleted(const char* allocationTag, ArgTypes&&... args) { - static_assert(!std::is_array::value || std::is_trivial::value, + static_assert(!std::is_array::value || (std::is_trivially_default_constructible::value && std::is_trivially_copyable::value), "This wrapper/function is not designed to support non-trivial arrays."); return UniquePtrSafeDeleted(Aws::New(allocationTag, std::forward(args)...), D());