diff --git a/src/walk.rs b/src/walk.rs index c75364b6f506af8834630488a7a891e86128ff00..e2c5dca92bef472815a30301fca5d907905636ee 100644 --- a/src/walk.rs +++ b/src/walk.rs @@ -84,7 +84,7 @@ fn check_full_path(path: &Path, mode: libc::c_int) -> bool fn inner_visit(path: &Path, metadata: &Metadata, checkpath: bool, - cb: &Fn(&Path, &Metadata)) -> io::Result<()> + cb: &dyn Fn(&Path, &Metadata)) -> io::Result<()> { if checkpath { if metadata.file_type().is_dir() { @@ -138,7 +138,7 @@ fn inner_visit(path: &Path, Ok(()) } -pub fn visit(path: &Path, cb: &Fn(&Path, &Metadata)) -> io::Result<()> +pub fn visit(path: &Path, cb: &dyn Fn(&Path, &Metadata)) -> io::Result<()> { let checkpath = need_access_check(); let metadata = symlink_metadata(path); @@ -161,7 +161,7 @@ pub fn visit(path: &Path, cb: &Fn(&Path, &Metadata)) -> io::Result<()> return Ok(()); } else { let metadata = metadata.unwrap(); - try!(inner_visit(&path, &metadata, checkpath, cb)); + inner_visit(&path, &metadata, checkpath, cb)?; } Ok(()) }