Jelajahi Sumber

meta: avoid unnecessary moves (see #794)

Michele Caini 4 tahun lalu
induk
melakukan
c88adf9314
1 mengubah file dengan 1 tambahan dan 1 penghapusan
  1. 1 1
      src/entt/meta/utility.hpp

+ 1 - 1
src/entt/meta/utility.hpp

@@ -330,7 +330,7 @@ template<typename Type, typename Policy, typename Candidate, std::size_t... Inde
 template<typename Type, typename... Args, std::size_t... Index>
 template<typename Type, typename... Args, std::size_t... Index>
 [[nodiscard]] meta_any meta_construct(meta_any *const args, std::index_sequence<Index...>) {
 [[nodiscard]] meta_any meta_construct(meta_any *const args, std::index_sequence<Index...>) {
     if(((args + Index)->allow_cast<Args>() && ...)) {
     if(((args + Index)->allow_cast<Args>() && ...)) {
-        return Type{(args + Index)->cast<Args>()...};
+        return meta_any{std::in_place_type<Type>, (args + Index)->cast<Args>()...};
     }
     }
 
 
     return meta_any{};
     return meta_any{};