diff --git a/src/entt/meta/container.hpp b/src/entt/meta/container.hpp index 77d49ef01..2d7ff0d62 100644 --- a/src/entt/meta/container.hpp +++ b/src/entt/meta/container.hpp @@ -5,6 +5,7 @@ #include #include #include +#include #include #include #include @@ -133,8 +134,12 @@ struct basic_meta_associative_container_traits { } [[nodiscard]] static bool clear(any &container) { - auto * const cont = any_cast(&container); - return cont && (cont->clear(), true); + if(auto * const cont = any_cast(&container); cont) { + cont->clear(); + return true; + } + + return false; } [[nodiscard]] static iterator begin(any &container) { @@ -158,8 +163,9 @@ struct basic_meta_associative_container_traits { if constexpr(is_key_only_meta_associative_container::value) { return cont->insert(key.cast()).second; } else { - return value.allow_cast() - && cont->emplace(key.cast(), value.cast()).second; + if(value.allow_cast()) { + return cont->emplace(key.cast(), value.cast()).second; + } } }