[Bf-blender-cvs] [0310638e946] master: Fix build error on Linux + Clang 10 after recent changes to BLI_any

Brecht Van Lommel noreply at git.blender.org
Mon Apr 25 15:38:42 CEST 2022


Commit: 0310638e946eecc12d10aa533f8f6ce6200dd7b3
Author: Brecht Van Lommel
Date:   Mon Apr 25 14:57:59 2022 +0200
Branches: master
https://developer.blender.org/rB0310638e946eecc12d10aa533f8f6ce6200dd7b3

Fix build error on Linux + Clang 10 after recent changes to BLI_any

Differential Revision: https://developer.blender.org/D14749

===================================================================

M	source/blender/blenlib/BLI_any.hh

===================================================================

diff --git a/source/blender/blenlib/BLI_any.hh b/source/blender/blenlib/BLI_any.hh
index 875e7cce056..ca3d5756c52 100644
--- a/source/blender/blenlib/BLI_any.hh
+++ b/source/blender/blenlib/BLI_any.hh
@@ -40,7 +40,7 @@ template<typename ExtraInfo, typename T>
 static constexpr AnyTypeInfo<ExtraInfo> info_for_inline = {
     [](void *dst, const void *src) { new (dst) T(*(const T *)src); },
     [](void *dst, void *src) { new (dst) T(std::move(*(T *)src)); },
-    [](void *src) { ((T *)src)->~T(); },
+    [](void *src) { std::destroy_at(((T *)src)); },
     [](const void *src) { return src; },
     ExtraInfo::template get<T>()};
 
@@ -53,7 +53,7 @@ template<typename ExtraInfo, typename T>
 static constexpr AnyTypeInfo<ExtraInfo> info_for_unique_ptr = {
     [](void *dst, const void *src) { new (dst) Ptr<T>(new T(**(const Ptr<T> *)src)); },
     [](void *dst, void *src) { new (dst) Ptr<T>(new T(std::move(**(Ptr<T> *)src))); },
-    [](void *src) { ((Ptr<T> *)src)->~Ptr<T>(); },
+    [](void *src) { std::destroy_at((Ptr<T> *)src); },
     [](const void *src) -> const void * { return &**(const Ptr<T> *)src; },
     ExtraInfo::template get<T>()};



More information about the Bf-blender-cvs mailing list