Просмотр исходного кода

registry: suppress some warnings (close #582)

Michele Caini 5 лет назад
Родитель
Сommit
e7031794df
2 измененных файлов с 3 добавлено и 2 удалено
  1. 2 2
      src/entt/entity/registry.hpp
  2. 1 0
      test/entt/entity/registry.cpp

+ 2 - 2
src/entt/entity/registry.hpp

@@ -429,7 +429,7 @@ public:
         entity_type entt;
         entity_type entt;
 
 
         if(const auto req = (to_integral(hint) & traits_type::entity_mask); !(req < entities.size())) {
         if(const auto req = (to_integral(hint) & traits_type::entity_mask); !(req < entities.size())) {
-            entities.reserve(req + 1u);
+            entities.reserve(size_type(req) + 1u);
 
 
             for(auto pos = entities.size(); pos < req; ++pos) {
             for(auto pos = entities.size(); pos < req; ++pos) {
                 release_entity(generate_identifier(), {});
                 release_entity(generate_identifier(), {});
@@ -504,7 +504,7 @@ public:
      * @param entity A valid entity identifier.
      * @param entity A valid entity identifier.
      */
      */
     void destroy(const entity_type entity) {
     void destroy(const entity_type entity) {
-        destroy(entity, version(entity) + 1u);
+        destroy(entity, static_cast<typename traits_type::version_type>(version(entity) + 1u));
     }
     }
 
 
     /**
     /**

+ 1 - 0
test/entt/entity/registry.cpp

@@ -469,6 +469,7 @@ TEST(Registry, VersionOverflow) {
     registry.destroy(registry.create());
     registry.destroy(registry.create());
 
 
     ASSERT_EQ(registry.current(entity), registry.version(entity));
     ASSERT_EQ(registry.current(entity), registry.version(entity));
+    ASSERT_EQ(registry.current(entity), typename traits_type::version_type{});
 }
 }
 
 
 TEST(Registry, Each) {
 TEST(Registry, Each) {