about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2016-09-22 23:12:23 -0700
committerGitHub <noreply@github.com>2016-09-22 23:12:23 -0700
commitf2c53ea66bc1491ef125b35fa30c1cc890cde82c (patch)
tree7c63b410c081846a390199c53abc86029b90750a /src
parent533c04dbb3e44ecb551b743993bd05e17b68236d (diff)
parent6b697a375ed925b8b268f70765ad3ae61135e4ed (diff)
downloadrust-f2c53ea66bc1491ef125b35fa30c1cc890cde82c.tar.gz
rust-f2c53ea66bc1491ef125b35fa30c1cc890cde82c.zip
Auto merge of #36631 - frewsxcv:dir-entry-debug, r=sfackler
Implement Debug for DirEntry.

None
Diffstat (limited to 'src')
-rw-r--r--src/libstd/fs.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/libstd/fs.rs b/src/libstd/fs.rs
index 698ec4f1b73..576198564db 100644
--- a/src/libstd/fs.rs
+++ b/src/libstd/fs.rs
@@ -1055,6 +1055,15 @@ impl DirEntry {
     }
 }
 
+#[stable(feature = "dir_entry_debug", since = "1.13.0")]
+impl fmt::Debug for DirEntry {
+    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+        f.debug_tuple("DirEntry")
+            .field(&self.path())
+            .finish()
+    }
+}
+
 impl AsInner<fs_imp::DirEntry> for DirEntry {
     fn as_inner(&self) -> &fs_imp::DirEntry { &self.0 }
 }
@@ -2642,6 +2651,17 @@ mod tests {
     }
 
     #[test]
+    fn dir_entry_debug() {
+        let tmpdir = tmpdir();
+        File::create(&tmpdir.join("b")).unwrap();
+        let mut read_dir = tmpdir.path().read_dir().unwrap();
+        let dir_entry = read_dir.next().unwrap().unwrap();
+        let actual = format!("{:?}", dir_entry);
+        let expected = format!("DirEntry({:?})", dir_entry.0.path());
+        assert_eq!(actual, expected);
+    }
+
+    #[test]
     fn read_dir_not_found() {
         let res = fs::read_dir("/path/that/does/not/exist");
         assert_eq!(res.err().unwrap().kind(), ErrorKind::NotFound);