diff options
author | Teddy Wing | 2021-06-13 13:43:03 +0200 |
---|---|---|
committer | Teddy Wing | 2021-06-13 13:43:03 +0200 |
commit | 3b55e4a839f0b834146e7f86cb5b6b4378d1e59c (patch) | |
tree | 85f84a8fb5a252c196c39c84cde677c5e79df328 /src/main.rs | |
parent | f5e63179e6ab176d145e96786df9d3d0bdaaf7a1 (diff) | |
download | reflectub-3b55e4a839f0b834146e7f86cb5b6b4378d1e59c.tar.bz2 |
Move `MultiError` to its own file
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 37 |
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!( "{}", |