diff options
| author | Nick Hamann <nick@wabbo.org> | 2015-05-03 17:13:42 -0500 |
|---|---|---|
| committer | Nick Hamann <nick@wabbo.org> | 2015-05-03 17:13:42 -0500 |
| commit | dd85c42ee151a9d350327f3aab7492a178716507 (patch) | |
| tree | 2c88fc1acb71157d504cbb879d2c1d402c793e04 /src/libstd | |
| parent | 3a4a1e5f386137514b91c76ad06d909789bcd549 (diff) | |
| download | rust-dd85c42ee151a9d350327f3aab7492a178716507.tar.gz rust-dd85c42ee151a9d350327f3aab7492a178716507.zip | |
Unwrap address values in Debug implementations for TcpStream/TcpListener/UdpSocket.
This now omits address fields in Debug implementations when a proper address value cannot be unwrapped.
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/sys/common/net2.rs | 41 |
1 files changed, 28 insertions, 13 deletions
diff --git a/src/libstd/sys/common/net2.rs b/src/libstd/sys/common/net2.rs index 08242f6bab8..688d0edcff1 100644 --- a/src/libstd/sys/common/net2.rs +++ b/src/libstd/sys/common/net2.rs @@ -271,11 +271,18 @@ 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() + let mut res = f.debug_struct("TcpStream"); + + if let Ok(addr) = self.socket_addr() { + res = res.field("addr", &addr); + } + + if let Ok(peer) = self.peer_addr() { + res = res.field("peer", &peer); + } + + res = res.field("inner", &self.inner.as_inner()); + res.finish() } } @@ -340,10 +347,14 @@ 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() + let mut res = f.debug_struct("TcpListener"); + + if let Ok(addr) = self.socket_addr() { + res = res.field("addr", &addr); + } + + res = res.field("inner", &self.inner.as_inner()); + res.finish() } } @@ -468,9 +479,13 @@ impl FromInner<Socket> for UdpSocket { 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() + let mut res = f.debug_struct("UdpSocket"); + + if let Ok(addr) = self.socket_addr() { + res = res.field("addr", &addr); + } + + res = res.field("inner", &self.inner.as_inner()); + res.finish() } } |
