| 3886 | std::declval<Exp>().error())), |
| 3887 | detail::enable_if_t<!std::is_void<Ret>::value> * = nullptr> |
| 3888 | constexpr auto map_error_impl(Exp &&exp, F &&f) { |
| 3889 | using result = expected<exp_t<Exp>, detail::decay_t<Ret>>; |
| 3890 | return exp.has_value() |
| 3891 | ? result(*std::forward<Exp>(exp)) |
| 3892 | : result(unexpect, detail::invoke(std::forward<F>(f), |
| 3893 | std::forward<Exp>(exp).error())); |
| 3894 | } |
| 3895 | template <class Exp, class F, |
| 3896 | detail::enable_if_t<!std::is_void<exp_t<Exp>>::value> * = nullptr, |
| 3897 | class Ret = decltype(detail::invoke(std::declval<F>(), |
no test coverage detected