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 127f15f..af52130 100644 --- a/src/file/checked.rs +++ b/src/file/checked.rs @@ -91,8 +91,8 @@ impl Checked { } } -impl<'t> FileTrait<'t> for Checked { - 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 cb4c665..be26361 100644 --- a/src/file/mod.rs +++ b/src/file/mod.rs @@ -96,13 +96,13 @@ fn check_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") @@ -111,7 +111,7 @@ pub trait FileTrait<'t> { /// get a reference to the file's name /// /// Uses `file::FileTrait::extract_file_name`, which may **panic**! - fn get_name(&'t self) -> &'t str; + 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 70ea34f..9b76419 100644 --- a/src/file/uploading.rs +++ b/src/file/uploading.rs @@ -94,8 +94,8 @@ impl Uploading { } } -impl<'t> FileTrait<'t> for Uploading { - fn get_name(&'t self) -> &'t str { +impl FileTrait for Uploading { + fn get_name(&self) -> &str { ::extract_file_name(&self.path) }