about summary refs log tree commit diff
path: root/src/liballoc
diff options
context:
space:
mode:
authorKamal Marhubi <kamal@marhubi.com>2016-02-07 17:57:01 -0500
committerKamal Marhubi <kamal@marhubi.com>2016-02-08 14:08:19 -0500
commitc5f73ed80c9c37cceaa25ed20c0f88f9d324bd8c (patch)
tree74e9d197244f8f2fba5a2ac2afde8f52201e6c30 /src/liballoc
parent26105b1a3765a73bab44fb18ccbd5a4635018fdf (diff)
downloadrust-c5f73ed80c9c37cceaa25ed20c0f88f9d324bd8c.tar.gz
rust-c5f73ed80c9c37cceaa25ed20c0f88f9d324bd8c.zip
Implement fmt::Pointer for pointers to unsized types
This allows printing pointers to unsized types with the {:p} formatting
directive. The following impls are extended to unsized types:
 - impl<'a, T: ?Sized> Pointer for &'a T
 - impl<'a, T: ?Sized> Pointer for &'a mut T
 - impl<T: ?Sized> Pointer for *const T
 - impl<T: ?Sized> Pointer for *mut T
 - impl<T: ?Sized> fmt::Pointer for Box<T>
 - impl<T: ?Sized> fmt::Pointer for Rc<T>
 - impl<T: ?Sized> fmt::Pointer for Arc<T>
Diffstat (limited to 'src/liballoc')
-rw-r--r--src/liballoc/arc.rs2
-rw-r--r--src/liballoc/boxed.rs2
-rw-r--r--src/liballoc/rc.rs2
3 files changed, 3 insertions, 3 deletions
diff --git a/src/liballoc/arc.rs b/src/liballoc/arc.rs
index 424a689bcb0..fa0185d5cfd 100644
--- a/src/liballoc/arc.rs
+++ b/src/liballoc/arc.rs
@@ -879,7 +879,7 @@ impl<T: ?Sized + fmt::Debug> fmt::Debug for Arc<T> {
 }
 
 #[stable(feature = "rust1", since = "1.0.0")]
-impl<T> fmt::Pointer for Arc<T> {
+impl<T: ?Sized> fmt::Pointer for Arc<T> {
     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
         fmt::Pointer::fmt(&*self._ptr, f)
     }
diff --git a/src/liballoc/boxed.rs b/src/liballoc/boxed.rs
index be140469eb6..a7cd59d4dfe 100644
--- a/src/liballoc/boxed.rs
+++ b/src/liballoc/boxed.rs
@@ -442,7 +442,7 @@ impl<T: fmt::Debug + ?Sized> fmt::Debug for Box<T> {
 }
 
 #[stable(feature = "rust1", since = "1.0.0")]
-impl<T> fmt::Pointer for Box<T> {
+impl<T: ?Sized> fmt::Pointer for Box<T> {
     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
         // It's not possible to extract the inner Uniq directly from the Box,
         // instead we cast it to a *const which aliases the Unique
diff --git a/src/liballoc/rc.rs b/src/liballoc/rc.rs
index 3c4bea95ba1..162312e2457 100644
--- a/src/liballoc/rc.rs
+++ b/src/liballoc/rc.rs
@@ -688,7 +688,7 @@ impl<T: ?Sized + fmt::Debug> fmt::Debug for Rc<T> {
 }
 
 #[stable(feature = "rust1", since = "1.0.0")]
-impl<T> fmt::Pointer for Rc<T> {
+impl<T: ?Sized> fmt::Pointer for Rc<T> {
     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
         fmt::Pointer::fmt(&*self._ptr, f)
     }