static_assert(is_callable_with<Args...>(original) && always_false<Args...>::value, "function " PetscStringize(original) "() is not callable with given arguments"); \
return EXIT_FAILURE; \
} \
template <typename... Args> \
PETSC_NODISCARD auto alias(Args &&...args) PETSC_DECLTYPE_NOEXCEPT_AUTO(dispatch(0, std::forward<Args>(args)...)) { \
prologue; \
auto ret = dispatch(0, std::forward<Args>(args)...); \
static_assert(is_callable_with<Args...>(original) && always_false<Args...>::value, "function " PetscStringize(original) "() is not callable with given arguments"); \
return EXIT_FAILURE; \
} \
template <typename... Args> \
PETSC_NODISCARD auto alias(Args &&...args) PETSC_DECLTYPE_NOEXCEPT_AUTO(dispatch(0, std::forward<Args>(args)...)) \
{ \
prologue; \
auto ret = dispatch(0, std::forward<Args>(args)...); \