diff --git a/library/std/src/sys/unix/fs.rs b/library/std/src/sys/unix/fs.rs index 65e000d9215a507a0ab4fedb04e48bc5ec6467c9..878796065c8f17b906c6e3fb4f2db996e1440cd5 100644 --- a/library/std/src/sys/unix/fs.rs +++ b/library/std/src/sys/unix/fs.rs @@ -598,7 +598,7 @@ pub fn metadata(&self) -> io::Result { target_os = "vxworks" ))] pub fn file_type(&self) -> io::Result { - lstat(&self.path()).map(|m| m.file_type()) + self.metadata().map(|m| m.file_type()) } #[cfg(not(any( @@ -616,7 +616,7 @@ pub fn file_type(&self) -> io::Result { libc::DT_SOCK => Ok(FileType { mode: libc::S_IFSOCK }), libc::DT_DIR => Ok(FileType { mode: libc::S_IFDIR }), libc::DT_BLK => Ok(FileType { mode: libc::S_IFBLK }), - _ => lstat(&self.path()).map(|m| m.file_type()), + _ => self.metadata().map(|m| m.file_type()), } }