about summary refs log tree commit diff
path: root/src/libstd/net
diff options
context:
space:
mode:
authorSteven Fackler <sfackler@gmail.com>2015-08-23 23:00:18 -0700
committerSteven Fackler <sfackler@gmail.com>2015-08-23 23:00:18 -0700
commitb61fddebb09f33c52cf97f66c797f8d5401096ec (patch)
tree95e12e776c8d26b83ffe472a90374bff654bbcd1 /src/libstd/net
parent63ba780fd7ab506bfd0f92d34a39172b412cfbe1 (diff)
downloadrust-b61fddebb09f33c52cf97f66c797f8d5401096ec.tar.gz
rust-b61fddebb09f33c52cf97f66c797f8d5401096ec.zip
Implement Error for AddrParseError
Closes #27973
Diffstat (limited to 'src/libstd/net')
-rw-r--r--src/libstd/net/parser.rs16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/libstd/net/parser.rs b/src/libstd/net/parser.rs
index b0fadb56f36..da6ee8cfdcf 100644
--- a/src/libstd/net/parser.rs
+++ b/src/libstd/net/parser.rs
@@ -15,8 +15,10 @@
 
 use prelude::v1::*;
 
-use str::FromStr;
+use error::Error;
+use fmt;
 use net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr, SocketAddrV4, SocketAddrV6};
+use str::FromStr;
 
 struct Parser<'a> {
     // parsing as ASCII, so can use byte array
@@ -339,3 +341,15 @@ impl FromStr for SocketAddr {
 #[stable(feature = "rust1", since = "1.0.0")]
 #[derive(Debug, Clone, PartialEq)]
 pub struct AddrParseError(());
+
+impl fmt::Display for AddrParseError {
+    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
+        fmt.write_str(self.description())
+    }
+}
+
+impl Error for AddrParseError {
+    fn description(&self) -> &str {
+        "invalid IP address syntax"
+    }
+}