diff --git a/src/entt/meta/factory.hpp b/src/entt/meta/factory.hpp index e89d4b0df..955266e11 100644 --- a/src/entt/meta/factory.hpp +++ b/src/entt/meta/factory.hpp @@ -269,12 +269,9 @@ public: */ template auto conv() ENTT_NOEXCEPT { - using conv_type = std::remove_const_t>>; - static_assert(!std::is_same_v && std::is_convertible_v, "Could not convert to the required type"); - static internal::meta_conv_node node{ nullptr, - internal::meta_node::resolve(), + internal::meta_node>>>::resolve(), [](const meta_any &instance) -> meta_any { return forward_as_meta(std::invoke(Candidate, *static_cast(instance.data()))); } @@ -296,12 +293,9 @@ public: */ template auto conv() ENTT_NOEXCEPT { - using conv_type = std::remove_const_t>; - static_assert(!std::is_same_v && std::is_convertible_v, "Could not convert to the required type"); - static internal::meta_conv_node node{ nullptr, - internal::meta_node::resolve(), + internal::meta_node>>::resolve(), [](const meta_any &instance) -> meta_any { return forward_as_meta(static_cast(*static_cast(instance.data()))); } // tricks clang-format };