about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSimon Sapin <simon.sapin@exyr.org>2018-11-15 13:21:25 +0100
committerSimon Sapin <simon.sapin@exyr.org>2018-11-20 18:22:40 +0100
commit544ad37753184c387fd235dea8bd4c3fba22bd74 (patch)
tree98cd0affbfea0014025511fe83efa77dc06e5411
parent48aae09e9fe0a5574f59867610a9005c68ff5c19 (diff)
downloadrust-544ad37753184c387fd235dea8bd4c3fba22bd74.tar.gz
rust-544ad37753184c387fd235dea8bd4c3fba22bd74.zip
Unfold<St, F>: Debug without F: Debug
-rw-r--r--src/libcore/iter/sources.rs11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/libcore/iter/sources.rs b/src/libcore/iter/sources.rs
index a209b90ace1..d769c9c80a0 100644
--- a/src/libcore/iter/sources.rs
+++ b/src/libcore/iter/sources.rs
@@ -444,7 +444,7 @@ pub fn unfold<St, T, F>(initial_state: St, f: F) -> Unfold<St, F>
 /// See its documentation for more.
 ///
 /// [`unfold`]: fn.unfold.html
-#[derive(Copy, Clone, Debug)]
+#[derive(Copy, Clone)]
 #[unstable(feature = "iter_unfold", issue = /* FIXME */ "0")]
 pub struct Unfold<St, F> {
     state: St,
@@ -462,3 +462,12 @@ impl<St, T, F> Iterator for Unfold<St, F>
         (self.f)(&mut self.state)
     }
 }
+
+#[unstable(feature = "iter_unfold", issue = /* FIXME */ "0")]
+impl<St: fmt::Debug, F> fmt::Debug for Unfold<St, F> {
+    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+        f.debug_struct("Unfold")
+            .field("state", &self.state)
+            .finish()
+    }
+}