config: being empty isn't enough for ETO, type must be default constructible

This commit is contained in:
Michele Caini
2020-02-28 15:23:44 +01:00
parent e150882231
commit 94d15ebbef

View File

@@ -44,10 +44,10 @@
#ifndef ENTT_DISABLE_ETO
# include <type_traits>
# define ENTT_ENABLE_ETO(Type) std::is_empty_v<Type>
# define ENTT_ENABLE_ETO(Type) (std::is_default_constructible_v<Type> && std::is_empty_v<Type>)
#else
# // sfinae-friendly definition
# define ENTT_ENABLE_ETO(Type) (false && std::is_empty_v<Type>)
# define ENTT_ENABLE_ETO(Type) (false && std::is_void_v<Type>)
#endif