diff --git a/src/support.h b/src/support.h index 2d7d6de9..388b223b 100644 --- a/src/support.h +++ b/src/support.h @@ -77,7 +77,8 @@ struct make_pod { // Using a union is a C++ trick to achieve this. template union helper { - static_assert(std::is_pod

::value, "type P must a pod type"); + static_assert(std::is_trivially_copyable::value, "type V must be trivially copyable"); + static_assert(std::is_standard_layout

::value && std::is_trivially_copyable

::value, "type P must a pod type"); static_assert(sizeof(V) == sizeof(P), "type P must be same size as type V"); static_assert(alignof(V) == alignof(P), "alignment of type P must be compatible with that of type V");