about summary refs log tree commit diff
path: root/src/liballoc
diff options
context:
space:
mode:
authorNick Cameron <ncameron@mozilla.com>2014-11-28 15:41:16 +1300
committerNick Cameron <ncameron@mozilla.com>2015-01-01 17:54:15 +1300
commitc8c039151963e29b92978444f2dc6590dd173ece (patch)
treeacc1a9d55c82e4a5061cc697117fd7626601dc84 /src/liballoc
parent10d99a973498c5a1be6ba318210751efc1c2cf61 (diff)
downloadrust-c8c039151963e29b92978444f2dc6590dd173ece.tar.gz
rust-c8c039151963e29b92978444f2dc6590dd173ece.zip
Add some impls of Show (RefCell, Weak, some resolve types)
Diffstat (limited to 'src/liballoc')
-rw-r--r--src/liballoc/rc.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/liballoc/rc.rs b/src/liballoc/rc.rs
index 75d4342083b..436b134ad25 100644
--- a/src/liballoc/rc.rs
+++ b/src/liballoc/rc.rs
@@ -719,6 +719,17 @@ impl<T> Clone for Weak<T> {
     }
 }
 
+#[experimental = "Show is experimental."]
+impl<T: fmt::Show> fmt::Show for Weak<T> {
+    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+        if self.strong() == 0 {
+            write!(f, "NULL")
+        } else {
+            (*self._ptr).fmt(f)
+        }
+    }
+}
+
 #[doc(hidden)]
 trait RcBoxPtr<T> {
     fn inner(&self) -> &RcBox<T>;