Quellcode durchsuchen

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

Michele Caini vor 6 Jahren
Ursprung
Commit
94d15ebbef
1 geänderte Dateien mit 2 neuen und 2 gelöschten Zeilen
  1. 2 2
      src/entt/config/config.h

+ 2 - 2
src/entt/config/config.h

@@ -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