Browse Source

meta: small internal change to suppress a warning

Michele Caini 1 year ago
parent
commit
9e0f8149a4
1 changed files with 6 additions and 2 deletions
  1. 6 2
      src/entt/meta/node.hpp

+ 6 - 2
src/entt/meta/node.hpp

@@ -191,9 +191,13 @@ meta_type_node resolve(const meta_context &) noexcept;
 
 
 template<typename... Args>
 template<typename... Args>
 [[nodiscard]] auto meta_arg_node(const meta_context &context, type_list<Args...>, [[maybe_unused]] const std::size_t index) noexcept {
 [[nodiscard]] auto meta_arg_node(const meta_context &context, type_list<Args...>, [[maybe_unused]] const std::size_t index) noexcept {
-    [[maybe_unused]] std::size_t pos{};
     meta_type_node (*value)(const meta_context &) noexcept = nullptr;
     meta_type_node (*value)(const meta_context &) noexcept = nullptr;
-    ((value = (pos++ == index ? &resolve<std::remove_cv_t<std::remove_reference_t<Args>>> : value)), ...);
+
+    if constexpr(sizeof...(Args) != 0u) {
+        std::size_t pos{};
+        ((value = (pos++ == index ? &resolve<std::remove_cv_t<std::remove_reference_t<Args>>> : value)), ...);
+    }
+
     ENTT_ASSERT(value != nullptr, "Out of bounds");
     ENTT_ASSERT(value != nullptr, "Out of bounds");
     return value(context);
     return value(context);
 }
 }