| 4000 | std::declval<Exp>().error())), |
| 4001 | detail::enable_if_t<!std::is_void<Ret>::value> * = nullptr> |
| 4002 | constexpr auto or_else_impl(Exp &&exp, F &&f) { |
| 4003 | static_assert(detail::is_expected<Ret>::value, "F must return an expected"); |
| 4004 | return exp.has_value() ? std::forward<Exp>(exp) |
| 4005 | : detail::invoke(std::forward<F>(f), |
| 4006 | std::forward<Exp>(exp).error()); |
| 4007 | } |
| 4008 | |
| 4009 | template <class Exp, class F, |
| 4010 | class Ret = decltype(detail::invoke(std::declval<F>(), |
no test coverage detected