sans_io_runtime/
trace.rs

1use std::fmt::Debug;
2
3pub trait ErrorDebugger {
4    fn print_err(&self, msg: &str);
5}
6
7pub trait ErrorDebugger2 {
8    fn print_err2(&self, msg: &str);
9}
10
11impl<T, E: Debug> ErrorDebugger for Result<T, E> {
12    fn print_err(&self, msg: &str) {
13        match self {
14            Ok(_) => {}
15            Err(e) => {
16                log::error!("Error, {msg}: {:?}", e);
17            }
18        }
19    }
20}
21
22impl<T, E> ErrorDebugger2 for Result<T, E> {
23    fn print_err2(&self, msg: &str) {
24        match self {
25            Ok(_) => {}
26            Err(_) => {
27                log::error!("Error, {msg}");
28            }
29        }
30    }
31}
32
33pub trait OptionDebugger {
34    fn print_none(&self, msg: &str);
35}
36
37impl<T: Debug> OptionDebugger for Option<T> {
38    fn print_none(&self, msg: &str) {
39        match self {
40            Some(_) => {}
41            None => {
42                log::error!("{msg} None");
43            }
44        }
45    }
46}