diff --git a/src/entt/entity/view.hpp b/src/entt/entity/view.hpp index 97f148a33..347863075 100644 --- a/src/entt/entity/view.hpp +++ b/src/entt/entity/view.hpp @@ -268,8 +268,8 @@ protected: [[nodiscard]] const Type *storage(const std::size_t pos) const noexcept { if(pos < Get) { return pools[pos]; - } else if(filter[pos - Get] != internal::view_placeholder()) { - return filter[pos - Get]; + } else if(const auto idx = pos - Get; filter[idx] != internal::view_placeholder()) { + return filter[idx]; } return nullptr; @@ -280,7 +280,8 @@ protected: pools[pos] = elem; refresh(); } else { - filter[pos - Get] = (elem == nullptr) ? internal::view_placeholder() : elem; + ENTT_ASSERT(elem != nullptr, "Unexpected element"); + filter[pos - Get] = elem; } }