diff --git a/src/libstd/fs.rs b/src/libstd/fs.rs index 41934dc057e37..26fcd348fc9f6 100644 --- a/src/libstd/fs.rs +++ b/src/libstd/fs.rs @@ -975,13 +975,24 @@ impl FileType { /// Test whether this file type represents a symbolic link. /// + /// The underlying [`Metadata`] struct needs to be retrieved + /// with the [`fs::symlink_metadata`] function and not the + /// [`fs::metadata`] function. The [`fs::metadata`] function + /// follows symbolic links, so [`is_symlink`] would always + /// return false for the target file. + /// + /// [`Metadata`]: struct.Metadata.html + /// [`fs::metadata`]: fn.metadata.html + /// [`fs::symlink_metadata`]: fn.symlink_metadata.html + /// [`is_symlink`]: struct.FileType.html#method.is_symlink + /// /// # Examples /// /// ``` /// # fn foo() -> std::io::Result<()> { /// use std::fs; /// - /// let metadata = try!(fs::metadata("foo.txt")); + /// let metadata = try!(fs::symlink_metadata("foo.txt")); /// let file_type = metadata.file_type(); /// /// assert_eq!(file_type.is_symlink(), false);