From f3b763d973e0d86cb7e494402fd56f6d30d3ff2b Mon Sep 17 00:00:00 2001 From: skypjack Date: Wed, 24 Sep 2025 13:05:55 +0200 Subject: [PATCH] meta: deprecate ctors that should not exist --- src/entt/meta/meta.hpp | 3 ++- src/entt/meta/utility.hpp | 11 +++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/entt/meta/meta.hpp b/src/entt/meta/meta.hpp index 5e8abb838..edadc6532 100644 --- a/src/entt/meta/meta.hpp +++ b/src/entt/meta/meta.hpp @@ -651,13 +651,14 @@ template /*! @brief Opaque pointers to instances of any type. */ struct meta_handle { /*! Default constructor. */ + [[deprecated("not necessary, use direct contructors instead")]] meta_handle() = default; /** * @brief Context aware constructor. * @param area The context from which to search for meta types. */ - [[deprecated("not necessary, use the default constructor instead")]] + [[deprecated("not necessary, use direct contructors instead")]] meta_handle(meta_ctx_arg_t, const meta_ctx &area) : any{meta_ctx_arg, area} {} diff --git a/src/entt/meta/utility.hpp b/src/entt/meta/utility.hpp index 1648b011f..9be9adde1 100644 --- a/src/entt/meta/utility.hpp +++ b/src/entt/meta/utility.hpp @@ -204,7 +204,7 @@ template } template -[[nodiscard]] meta_any meta_invoke(meta_handle &instance, Candidate &&candidate, [[maybe_unused]] meta_any *const args, std::index_sequence) { +[[nodiscard]] meta_any meta_invoke(meta_handle instance, Candidate &&candidate, [[maybe_unused]] meta_any *const args, std::index_sequence) { using descriptor = meta_function_helper_t>; // NOLINTBEGIN(cppcoreguidelines-pro-bounds-pointer-arithmetic) - waiting for C++20 (and std::span) @@ -354,7 +354,7 @@ template */ template [[nodiscard]] std::enable_if_t, meta_any> meta_invoke(meta_handle instance, Candidate &&candidate, meta_any *const args) { - return internal::meta_invoke(instance, std::forward(candidate), args, std::make_index_sequence>::args_type::size>{}); + return internal::meta_invoke(std::move(instance), std::forward(candidate), args, std::make_index_sequence>::args_type::size>{}); } /** @@ -368,7 +368,7 @@ template */ template [[nodiscard]] std::enable_if_t, meta_any> meta_invoke(meta_handle instance, meta_any *const args) { - return internal::meta_invoke(instance, Candidate, args, std::make_index_sequence>::args_type::size>{}); + return internal::meta_invoke(std::move(instance), Candidate, args, std::make_index_sequence>::args_type::size>{}); } /** @@ -419,12 +419,11 @@ template template [[nodiscard]] meta_any meta_construct(const meta_ctx &ctx, Candidate &&candidate, meta_any *const args) { if constexpr(meta_function_helper_t::is_static || std::is_class_v>>) { - meta_handle placeholder{meta_ctx_arg, ctx}; + meta_any placeholder{meta_ctx_arg, ctx}; return internal::meta_invoke(placeholder, std::forward(candidate), args, std::make_index_sequence>::args_type::size>{}); } else { - meta_handle target{*args}; // NOLINTNEXTLINE(cppcoreguidelines-pro-bounds-pointer-arithmetic) - waiting for C++20 (and std::span) - return internal::meta_invoke(target, std::forward(candidate), args + 1u, std::make_index_sequence>::args_type::size>{}); + return internal::meta_invoke(*args, std::forward(candidate), args + 1u, std::make_index_sequence>::args_type::size>{}); } }