*: suppress a few warnings + fix a call that msvc accepted by mistake

This commit is contained in:
Michele Caini
2021-02-19 16:11:19 +01:00
parent e60cdb2e3b
commit 94d4e0231e
4 changed files with 16 additions and 16 deletions

View File

@@ -53,7 +53,7 @@ class basic_any {
switch(op) {
case operation::COPY:
if constexpr(std::is_copy_constructible_v<base_type>) {
as<basic_any>(to).emplace<base_type>(*static_cast<const base_type *>(from.instance));
as<basic_any>(to).template emplace<base_type>(*static_cast<const base_type *>(from.instance));
}
break;
case operation::MOVE:

View File

@@ -301,8 +301,8 @@ public:
[](const typename internal::meta_ctor_node::size_type index) ENTT_NOEXCEPT {
return meta_arg(typename descriptor::args_type{}, index);
},
[](meta_any * const any) {
return meta_invoke<Type, Candidate, Policy>({}, any, std::make_index_sequence<descriptor::args_type::size>{});
[](meta_any * const args) {
return meta_invoke<Type, Candidate, Policy>({}, args, std::make_index_sequence<descriptor::args_type::size>{});
}
};
@@ -336,8 +336,8 @@ public:
[](const typename internal::meta_ctor_node::size_type index) ENTT_NOEXCEPT {
return meta_arg(typename descriptor::args_type{}, index);
},
[](meta_any * const any) {
return meta_construct<Type, Args...>(any, std::make_index_sequence<descriptor::args_type::size>{});
[](meta_any * const args) {
return meta_construct<Type, Args...>(args, std::make_index_sequence<descriptor::args_type::size>{});
}
};

View File

@@ -483,16 +483,16 @@ public:
* wrapped element is dereferenceable, an invalid meta any otherwise.
*/
[[nodiscard]] meta_any operator*() ENTT_NOEXCEPT {
meta_any any{};
vtable(operation::DEREF, storage, &any);
return any;
meta_any ret{};
vtable(operation::DEREF, storage, &ret);
return ret;
}
/*! @copydoc operator* */
[[nodiscard]] meta_any operator*() const ENTT_NOEXCEPT {
meta_any any{};
vtable(operation::CDEREF, storage, &any);
return any;
meta_any ret{};
vtable(operation::CDEREF, storage, &ret);
return ret;
}
/**
@@ -1343,9 +1343,9 @@ public:
* @return A meta any containing the new instance, if any.
*/
[[nodiscard]] meta_any construct(meta_any * const args, const size_type sz) const {
meta_any any{};
internal::meta_visit<&node_type::ctor>([args, sz, &any](const auto *curr) { return (curr->arity == sz) && (any = curr->invoke(args)); }, node);
return any;
meta_any ret{};
internal::meta_visit<&node_type::ctor>([args, sz, &ret](const auto *curr) { return (curr->arity == sz) && (ret = curr->invoke(args)); }, node);
return ret;
}
/**

View File

@@ -84,8 +84,8 @@ class poly_vtable {
return std::invoke(Candidate, std::forward<Args>(args)...);
};
} else {
entry = +[](Any &any, Args... args) -> Ret {
return static_cast<Ret>(std::invoke(Candidate, any_cast<constness_as_t<Type, Any> &>(any), std::forward<Args>(args)...));
entry = +[](Any &instance, Args... args) -> Ret {
return static_cast<Ret>(std::invoke(Candidate, any_cast<constness_as_t<Type, Any> &>(instance), std::forward<Args>(args)...));
};
}
}