Compare commits

...

2 Commits

Author SHA1 Message Date
d152e2196d MonadFail for SoloClass 2023-04-26 03:42:08 +00:00
41972e28c5 MonadFail for OptionClass 2023-04-26 03:41:56 +00:00
2 changed files with 19 additions and 0 deletions

View File

@ -123,6 +123,15 @@ impl LocalFunctor for OptionClass {
} }
} }
impl MonadFail<()> for OptionClass {
fn fail<'a, A: 'a>(_e: ()) -> Self::F<'a, A>
where
Self: 'a,
(): 'a {
None
}
}
#[cfg(test)] #[cfg(test)]
mod option_tests { mod option_tests {
use super::{test_suite, tests, Functor}; use super::{test_suite, tests, Functor};

View File

@ -115,3 +115,13 @@ impl LocalFunctor for SoloClass {
fa fa
} }
} }
impl MonadFail<std::convert::Infallible> for SoloClass {
fn fail<'a, A: 'a>(e: std::convert::Infallible) -> Self::F<'a, A>
where
Self: 'a,
std::convert::Infallible: 'a,
{
match e {}
}
}