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}