diff --git a/src/cachefile.rs b/src/cachefile.rs index 36fed9c..0426d10 100644 --- a/src/cachefile.rs +++ b/src/cachefile.rs @@ -57,10 +57,7 @@ impl CacheFile { }; if args.should_hash() { - fn check_hash<'a>( - file: &'a impl FileTrait<'a>, - bar: &ProgressBar, - ) -> crate::Result<()> { + fn check_hash(file: &impl FileTrait, bar: &ProgressBar) -> crate::Result<()> { bar.set_message(format!("checking {:?}", file.get_name())); file.check_hash(|bytes| bar.inc(bytes)) } diff --git a/src/file/checked.rs b/src/file/checked.rs index fa54124..c95b17b 100644 --- a/src/file/checked.rs +++ b/src/file/checked.rs @@ -85,11 +85,8 @@ impl Checked { } } -impl<'t> FileTrait<'t> for Checked { - /// get a reference to the file's name - /// - /// Uses `SharryFile::extract_file_name`, which may **panic**! - fn get_name(&'t self) -> &'t str { +impl FileTrait for Checked { + fn get_name(&self) -> &str { ::extract_file_name(&self.path) } diff --git a/src/file/mod.rs b/src/file/mod.rs index e7ec53a..5f850a5 100644 --- a/src/file/mod.rs +++ b/src/file/mod.rs @@ -12,7 +12,6 @@ pub use chunk::Chunk; use log::{debug, warn}; pub use uploading::Uploading; - fn compute_file_hash(path: &Path, size: u64, on_progress: impl Fn(u64)) -> crate::Result { let mut file = fs::File::open(path)?; let mut hasher = Blake2b::new().hash_length(64).to_state(); @@ -61,20 +60,22 @@ fn check_file_hash( } } -pub trait FileTrait<'t> { +pub trait FileTrait { /// extract the filename part of a `Path` reference /// /// # Panics /// /// Expects `path::Path::file_name` and `ffi::OsStr::to_str` to succeed on the given path - fn extract_file_name(p: &'t Path) -> &'t str { + fn extract_file_name(p: &Path) -> &str { p.file_name() .and_then(OsStr::to_str) .expect("bad file name") } /// get a reference to the file's name - fn get_name(&'t self) -> &'t str; + /// + /// Uses `file::FileTrait::extract_file_name`, which may **panic**! + fn get_name(&self) -> &str; /// get the file's size fn get_size(&self) -> u64; diff --git a/src/file/uploading.rs b/src/file/uploading.rs index 8ac6eea..cdea13e 100644 --- a/src/file/uploading.rs +++ b/src/file/uploading.rs @@ -94,11 +94,8 @@ impl Uploading { } } -impl<'t> FileTrait<'t> for Uploading { - /// get a reference to the file's name - /// - /// Uses `SharryFile::extract_file_name`, which may **panic**! - fn get_name(&'t self) -> &'t str { +impl FileTrait for Uploading { + fn get_name(&self) -> &str { ::extract_file_name(&self.path) }