| 2325 | std::declval<Exp>().error())), |
| 2326 | detail::enable_if_t<!std::is_void<Ret>::value> * = nullptr> |
| 2327 | constexpr auto or_else_impl(Exp &&exp, F &&f) { |
| 2328 | static_assert(detail::is_expected<Ret>::value, "F must return an expected"); |
| 2329 | return exp.has_value() ? std::forward<Exp>(exp) |
| 2330 | : detail::invoke(std::forward<F>(f), |
| 2331 | std::forward<Exp>(exp).error()); |
| 2332 | } |
| 2333 | |
| 2334 | template <class Exp, class F, |
| 2335 | class Ret = decltype(detail::invoke(std::declval<F>(), |
no test coverage detected