lazy_template/errors/
skip_or_fatal.rs1pub enum SkipOrFatal<Skip, Fatal> {
3 Skip(Skip),
4 Fatal(Fatal),
5}
6
7pub trait IntoSkipOrFatal {
10 type Skip;
12 type Fatal;
14 fn into_skip_or_fatal(self) -> SkipOrFatal<Self::Skip, Self::Fatal>;
16}
17
18impl<Skip, Fatal> IntoSkipOrFatal for SkipOrFatal<Skip, Fatal> {
19 type Skip = Skip;
20 type Fatal = Fatal;
21 fn into_skip_or_fatal(self) -> Self {
22 self
23 }
24}
25
26impl<Error> IntoSkipOrFatal for Option<Error> {
27 type Skip = ();
28 type Fatal = Error;
29 fn into_skip_or_fatal(self) -> SkipOrFatal<Self::Skip, Self::Fatal> {
30 match self {
31 None => SkipOrFatal::Skip(()),
32 Some(error) => SkipOrFatal::Fatal(error),
33 }
34 }
35}