pub trait CargoResultExt<T, E> { fn chain_err<F, D>(self, f: F) -> CargoResult<T> where F: FnOnce() -> D, D: Display + Send + Sync + 'static; }