diff --git a/src/entt/meta/utility.hpp b/src/entt/meta/utility.hpp index 3a0b2c03b..1648b011f 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(std::move(instance), std::forward(candidate), args, std::make_index_sequence>::args_type::size>{}); + return internal::meta_invoke(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(std::move(instance), Candidate, args, std::make_index_sequence>::args_type::size>{}); + return internal::meta_invoke(instance, Candidate, args, std::make_index_sequence>::args_type::size>{}); } /** @@ -419,7 +419,8 @@ 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>>) { - return internal::meta_invoke(meta_handle{meta_ctx_arg, ctx}, std::forward(candidate), args, std::make_index_sequence>::args_type::size>{}); + meta_handle 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)