|
|
@@ -340,7 +340,8 @@ public:
|
|
|
*/
|
|
|
template<typename Type>
|
|
|
[[nodiscard]] const Type *try_cast() const {
|
|
|
- return static_cast<const Type *>(internal::try_cast(node, internal::resolve_TODO<std::remove_cv_t<Type>>(), data()));
|
|
|
+ auto &&context_TODO = internal::meta_context::from(locator<meta_ctx>::value_or());
|
|
|
+ return static_cast<const Type *>(internal::try_cast(node, internal::resolve<std::remove_cv_t<Type>>(context_TODO), data(), context_TODO));
|
|
|
}
|
|
|
|
|
|
/*! @copydoc try_cast */
|
|
|
@@ -349,7 +350,8 @@ public:
|
|
|
if constexpr(std::is_const_v<Type>) {
|
|
|
return std::as_const(*this).try_cast<std::remove_const_t<Type>>();
|
|
|
} else {
|
|
|
- return static_cast<Type *>(const_cast<void *>(internal::try_cast(node, internal::resolve_TODO<Type>(), data())));
|
|
|
+ auto &&context_TODO = internal::meta_context::from(locator<meta_ctx>::value_or());
|
|
|
+ return static_cast<Type *>(const_cast<void *>(internal::try_cast(node, internal::resolve<Type>(context_TODO), data(), context_TODO)));
|
|
|
}
|
|
|
}
|
|
|
|