about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorNick Hamann <nick@wabbo.org>2015-05-02 19:25:44 -0500
committerNick Hamann <nick@wabbo.org>2015-05-03 14:02:59 -0500
commit3a4a1e5f386137514b91c76ad06d909789bcd549 (patch)
tree5064e8687698ccec21f0a65e99099aa6e3de28da /src/libstd
parent84f8c257b44964d289d3b22f78babf72f67724dc (diff)
downloadrust-3a4a1e5f386137514b91c76ad06d909789bcd549.tar.gz
rust-3a4a1e5f386137514b91c76ad06d909789bcd549.zip
Implement Debug for std::net::{UdpSocket,TcpStream,TcpListener,Shutdown}
Fixes #23134.
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/net/mod.rs2
-rw-r--r--src/libstd/net/tcp.rs13
-rw-r--r--src/libstd/net/udp.rs7
-rw-r--r--src/libstd/sys/common/net2.rs29
4 files changed, 50 insertions, 1 deletions
diff --git a/src/libstd/net/mod.rs b/src/libstd/net/mod.rs
index 2e7c0a2c80e..bf444ce671d 100644
--- a/src/libstd/net/mod.rs
+++ b/src/libstd/net/mod.rs
@@ -32,7 +32,7 @@ mod parser;
 
 /// Possible values which can be passed to the `shutdown` method of `TcpStream`
 /// and `UdpSocket`.
-#[derive(Copy, Clone, PartialEq)]
+#[derive(Copy, Clone, PartialEq, Debug)]
 #[stable(feature = "rust1", since = "1.0.0")]
 pub enum Shutdown {
     /// Indicates that the reading portion of this stream/socket should be shut
diff --git a/src/libstd/net/tcp.rs b/src/libstd/net/tcp.rs
index 130e1eee8f9..73bc00b4554 100644
--- a/src/libstd/net/tcp.rs
+++ b/src/libstd/net/tcp.rs
@@ -14,6 +14,7 @@
 use prelude::v1::*;
 use io::prelude::*;
 
+use fmt;
 use io;
 use net::{ToSocketAddrs, SocketAddr, Shutdown};
 use sys_common::net2 as net_imp;
@@ -167,6 +168,12 @@ impl FromInner<net_imp::TcpStream> for TcpStream {
     fn from_inner(inner: net_imp::TcpStream) -> TcpStream { TcpStream(inner) }
 }
 
+impl fmt::Debug for TcpStream {
+    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+        self.0.fmt(f)
+    }
+}
+
 impl TcpListener {
     /// Creates a new `TcpListener` which will be bound to the specified
     /// address.
@@ -239,6 +246,12 @@ impl FromInner<net_imp::TcpListener> for TcpListener {
     }
 }
 
+impl fmt::Debug for TcpListener {
+    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+        self.0.fmt(f)
+    }
+}
+
 #[cfg(test)]
 mod tests {
     use prelude::v1::*;
diff --git a/src/libstd/net/udp.rs b/src/libstd/net/udp.rs
index 0b04ecb1b72..96d6e95f03a 100644
--- a/src/libstd/net/udp.rs
+++ b/src/libstd/net/udp.rs
@@ -13,6 +13,7 @@
 
 use prelude::v1::*;
 
+use fmt;
 use io::{self, Error, ErrorKind};
 use net::{ToSocketAddrs, SocketAddr, IpAddr};
 use sys_common::net2 as net_imp;
@@ -136,6 +137,12 @@ impl FromInner<net_imp::UdpSocket> for UdpSocket {
     fn from_inner(inner: net_imp::UdpSocket) -> UdpSocket { UdpSocket(inner) }
 }
 
+impl fmt::Debug for UdpSocket {
+    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+        self.0.fmt(f)
+    }
+}
+
 #[cfg(test)]
 mod tests {
     use prelude::v1::*;
diff --git a/src/libstd/sys/common/net2.rs b/src/libstd/sys/common/net2.rs
index 2b2c31d92ed..08242f6bab8 100644
--- a/src/libstd/sys/common/net2.rs
+++ b/src/libstd/sys/common/net2.rs
@@ -11,6 +11,7 @@
 use prelude::v1::*;
 
 use ffi::{CStr, CString};
+use fmt;
 use io::{self, Error, ErrorKind};
 use libc::{self, c_int, c_char, c_void, socklen_t};
 use mem;
@@ -268,6 +269,16 @@ impl FromInner<Socket> for TcpStream {
     }
 }
 
+impl fmt::Debug for TcpStream {
+    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+        f.debug_struct("TcpStream")
+        .field("addr", &self.socket_addr())
+        .field("peer", &self.peer_addr())
+        .field("inner", &self.inner.as_inner())
+        .finish()
+    }
+}
+
 ////////////////////////////////////////////////////////////////////////////////
 // TCP listeners
 ////////////////////////////////////////////////////////////////////////////////
@@ -327,6 +338,15 @@ impl FromInner<Socket> for TcpListener {
     }
 }
 
+impl fmt::Debug for TcpListener {
+    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+        f.debug_struct("TcpListener")
+        .field("addr", &self.socket_addr())
+        .field("inner", &self.inner.as_inner())
+        .finish()
+    }
+}
+
 ////////////////////////////////////////////////////////////////////////////////
 // UDP
 ////////////////////////////////////////////////////////////////////////////////
@@ -445,3 +465,12 @@ impl FromInner<Socket> for UdpSocket {
         UdpSocket { inner: socket }
     }
 }
+
+impl fmt::Debug for UdpSocket {
+    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+        f.debug_struct("UdpSocket")
+        .field("addr", &self.socket_addr())
+        .field("inner", &self.inner.as_inner())
+        .finish()
+    }
+}