diff --git a/develop/singles/headers/meta.hpp/meta_all.hpp b/develop/singles/headers/meta.hpp/meta_all.hpp index e5e0f98..3aa1cd7 100644 --- a/develop/singles/headers/meta.hpp/meta_all.hpp +++ b/develop/singles/headers/meta.hpp/meta_all.hpp @@ -911,7 +911,9 @@ namespace meta_hpp::detail template < typename... Args > T& emplace_back(Args&&... args) { META_HPP_ASSERT(end_ < capacity_ && "full vector"); - return *std::construct_at(end_++, std::forward(args)...); + T& result = *std::construct_at(end_, std::forward(args)...); + ++end_; // NOLINT(*-pointer-arithmetic) + return result; } [[nodiscard]] std::size_t get_size() const noexcept { diff --git a/headers/meta.hpp/meta_base/inline_vector.hpp b/headers/meta.hpp/meta_base/inline_vector.hpp index 5551bbe..3d8fae7 100644 --- a/headers/meta.hpp/meta_base/inline_vector.hpp +++ b/headers/meta.hpp/meta_base/inline_vector.hpp @@ -48,7 +48,9 @@ namespace meta_hpp::detail template < typename... Args > T& emplace_back(Args&&... args) { META_HPP_ASSERT(end_ < capacity_ && "full vector"); - return *std::construct_at(end_++, std::forward(args)...); + T& result = *std::construct_at(end_, std::forward(args)...); + ++end_; // NOLINT(*-pointer-arithmetic) + return result; } [[nodiscard]] std::size_t get_size() const noexcept {