From eedecc07fdefdf67a8e1d0bd40f0b1d3b3cb17c3 Mon Sep 17 00:00:00 2001 From: Michele Caini Date: Thu, 8 Sep 2022 10:28:49 +0200 Subject: [PATCH] meta: avoid tricks and whatnot with meta_arg_node --- src/entt/meta/node.hpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/entt/meta/node.hpp b/src/entt/meta/node.hpp index 12cb41f4d..3b421c4b4 100644 --- a/src/entt/meta/node.hpp +++ b/src/entt/meta/node.hpp @@ -137,9 +137,13 @@ template meta_type_node resolve() noexcept; template -[[nodiscard]] meta_type_node meta_arg_node(type_list, const std::size_t index) noexcept { - meta_type_node args[sizeof...(Args) + 1u]{{}, internal::resolve>>()...}; - return args[index + 1u]; +[[nodiscard]] meta_type_node meta_arg_node(type_list, [[maybe_unused]] const std::size_t index) noexcept { + if constexpr(sizeof...(Args) == 0u) { + return {}; + } else { + const meta_type_node args[sizeof...(Args)]{internal::resolve>>()...}; + return args[index]; + } } template