From b61fddebb09f33c52cf97f66c797f8d5401096ec Mon Sep 17 00:00:00 2001 From: Steven Fackler Date: Sun, 23 Aug 2015 23:00:18 -0700 Subject: [PATCH] Implement Error for AddrParseError Closes #27973 --- src/libstd/net/parser.rs | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/libstd/net/parser.rs b/src/libstd/net/parser.rs index b0fadb56f36a..da6ee8cfdcfb 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" + } +}