mirror of
https://github.com/BlackMATov/meta.hpp.git
synced 2025-12-13 11:17:06 +07:00
fix try_ member and ctor calls
This commit is contained in:
@@ -6805,8 +6805,8 @@ namespace meta_hpp
|
||||
type_registry& registry{type_registry::instance()};
|
||||
|
||||
{
|
||||
const uinst_base vinst{registry, type_list<Instance>{}};
|
||||
const std::array<uarg_base, sizeof...(Args)> vargs{uarg_base{registry, type_list<Args>{}}...};
|
||||
const uinst_base vinst{registry, std::forward<Instance>(instance)};
|
||||
const std::array<uarg_base, sizeof...(Args)> vargs{uarg_base{registry, std::forward<Args>(args)}...};
|
||||
if ( const uerror err = state_->invoke_error(vinst, vargs) ) {
|
||||
return err;
|
||||
}
|
||||
@@ -7212,7 +7212,7 @@ namespace meta_hpp
|
||||
type_registry& registry{type_registry::instance()};
|
||||
|
||||
{
|
||||
const std::array<uarg_base, sizeof...(Args)> vargs{uarg_base{registry, type_list<Args>{}}...};
|
||||
const std::array<uarg_base, sizeof...(Args)> vargs{uarg_base{registry, std::forward<Args>(args)}...};
|
||||
if ( const uerror err = state_->create_error(vargs) ) {
|
||||
return err;
|
||||
}
|
||||
@@ -7236,7 +7236,7 @@ namespace meta_hpp
|
||||
type_registry& registry{type_registry::instance()};
|
||||
|
||||
{
|
||||
const std::array<uarg_base, sizeof...(Args)> vargs{uarg_base{registry, type_list<Args>{}}...};
|
||||
const std::array<uarg_base, sizeof...(Args)> vargs{uarg_base{registry, std::forward<Args>(args)}...};
|
||||
if ( const uerror err = state_->create_error(vargs) ) {
|
||||
return err;
|
||||
}
|
||||
|
||||
@@ -80,6 +80,7 @@ namespace
|
||||
\
|
||||
CHECK(f_state.is_invocable_with<decltype(FromValue)>());\
|
||||
CHECK(f_state.invoke(FromValue).as<int>() == 1);\
|
||||
CHECK(f_state.try_invoke(FromValue).get_value().as<int>() == 1);\
|
||||
} else {\
|
||||
CHECK_FALSE(uarg{r, FromValue}.can_cast_to<ToType>(r));\
|
||||
CHECK_FALSE(uarg_base{r, type_list<decltype(FromValue)>{}}.can_cast_to<ToType>(r));\
|
||||
@@ -101,6 +102,7 @@ namespace
|
||||
CHECK(f_state.is_invocable_with<FromType>());\
|
||||
CHECK(f_state.is_invocable_with(FromValue));\
|
||||
CHECK(f_state.invoke(FromValue).as<int>() == 1);\
|
||||
CHECK(f_state.try_invoke(FromValue).get_value().as<int>() == 1);\
|
||||
} else {\
|
||||
CHECK_FALSE(f_state.is_invocable_with<FromType>());\
|
||||
CHECK_FALSE(f_state.is_invocable_with(FromValue));\
|
||||
|
||||
@@ -40,6 +40,7 @@ namespace
|
||||
\
|
||||
CHECK(m_state.is_invocable_with<decltype(Inst)>());\
|
||||
CHECK(m_state.invoke(Inst).as<int>() == 1);\
|
||||
CHECK(m_state.try_invoke(Inst).get_value().as<int>() == 1);\
|
||||
} else {\
|
||||
CHECK_FALSE(uinst{r, Inst}.can_cast_to<clazz Qualifiers>(r));\
|
||||
CHECK_FALSE(uinst_base{r, type_list<decltype(Inst)>{}}.can_cast_to<clazz Qualifiers>(r));\
|
||||
@@ -61,6 +62,7 @@ namespace
|
||||
CHECK(m_state.is_invocable_with<FromType>());\
|
||||
CHECK(m_state.is_invocable_with(FromValue));\
|
||||
CHECK(m_state.invoke(FromValue).as<int>() == 1);\
|
||||
CHECK(m_state.try_invoke(FromValue).get_value().as<int>() == 1);\
|
||||
} else {\
|
||||
CHECK_FALSE(m_state.is_invocable_with<FromType>());\
|
||||
CHECK_FALSE(m_state.is_invocable_with(FromValue));\
|
||||
|
||||
Reference in New Issue
Block a user