diff --git a/src/error.rs b/src/error.rs
index d97d0b02..acc75255 100644
--- a/src/error.rs
+++ b/src/error.rs
@@ -41,6 +41,9 @@ pub enum ErrorKind {
#[fail(display = "Self-update failure")]
#[cfg(feature = "self-update")]
SelfUpdate,
+
+ #[fail(display = "A step should be skipped")]
+ SkipStep,
}
impl Fail for Error {
diff --git a/src/main.rs b/src/main.rs
index 11b16fcb..998c4fbd 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -15,14 +15,16 @@ use self::report::Report;
use self::steps::*;
use self::terminal::*;
use failure::{Fail, ResultExt};
+use log::debug;
use std::borrow::Cow;
use std::env;
+use std::fmt::Debug;
use std::io;
#[cfg(windows)]
use std::path::PathBuf;
use std::process::exit;
-fn execute<'a, F, M>(func: F, no_retry: bool) -> Result