aboutsummaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs37
1 files changed, 3 insertions, 34 deletions
diff --git a/src/main.rs b/src/main.rs
index 8331237..6962370 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -27,8 +27,10 @@ use rusqlite;
use reflectub::{database, git, github};
+mod multi_error;
+use multi_error::MultiError;
+
use std::env;
-use std::fmt;
use std::fs;
use std::io;
use std::path::{Path, PathBuf};
@@ -47,39 +49,6 @@ fn main() {
};
}
-
-#[derive(Debug, thiserror::Error)]
-struct MultiError {
- errors: Vec<anyhow::Error>,
-}
-
-impl fmt::Display for MultiError {
- fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
- write!(
- f,
- "{}",
- self.errors
- .iter()
- .map(|e| format!("{:#}", e))
- .collect::<Vec<_>>()
- .join("\n"),
- )
- }
-}
-
-impl From<anyhow::Error> for MultiError {
- fn from(error: anyhow::Error) -> Self {
- MultiError { errors: vec![error] }
- }
-}
-
-impl From<Vec<anyhow::Error>> for MultiError {
- fn from(errors: Vec<anyhow::Error>) -> Self {
- MultiError { errors: errors }
- }
-}
-
-
fn print_usage(opts: &Options) {
print!(
"{}",