Ver Fonte

any: minor changes

Michele Caini há 5 anos atrás
pai
commit
78a13efc6c
1 ficheiros alterados com 3 adições e 3 exclusões
  1. 3 3
      src/entt/core/any.hpp

+ 3 - 3
src/entt/core/any.hpp

@@ -51,7 +51,7 @@ class any {
             switch(op) {
             switch(op) {
             case operation::REF:
             case operation::REF:
             case operation::CREF:
             case operation::CREF:
-                as_any(to).vtable = (op == operation::REF) ? basic_vtable<base_type &> : basic_vtable<const base_type &>;
+                as_any(to).vtable = (op == operation::REF) ? basic_vtable<Type> : basic_vtable<const base_type &>;
                 [[fallthrough]];
                 [[fallthrough]];
             case operation::COPY:
             case operation::COPY:
             case operation::MOVE:
             case operation::MOVE:
@@ -60,13 +60,13 @@ class any {
             case operation::DTOR:
             case operation::DTOR:
                 break;
                 break;
             case operation::COMP:
             case operation::COMP:
-                return compare<base_type>(from.instance, to) ? to : nullptr;
+                return compare<std::remove_const_t<base_type>>(from.instance, to) ? to : nullptr;
             case operation::ADDR:
             case operation::ADDR:
                 return std::is_const_v<base_type> ? nullptr : from.instance;
                 return std::is_const_v<base_type> ? nullptr : from.instance;
             case operation::CADDR:
             case operation::CADDR:
                 return from.instance;
                 return from.instance;
             case operation::TYPE:
             case operation::TYPE:
-                as_type_info(to) = type_id<base_type>();
+                as_type_info(to) = type_id<std::remove_const_t<base_type>>();
                 break;
                 break;
             }
             }
         } else if constexpr(in_situ<Type>) {
         } else if constexpr(in_situ<Type>) {