From 2f1f43fcd4faefb27e3c552e8df7b8924d1d5d77 Mon Sep 17 00:00:00 2001 From: Linus Färnstrand Date: Fri, 10 Aug 2018 18:00:50 +0200 Subject: Use slice patterns to check IP octets --- src/libstd/net/ip.rs | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) (limited to 'src/libstd') diff --git a/src/libstd/net/ip.rs b/src/libstd/net/ip.rs index d601a0c42e9..87db385bca9 100644 --- a/src/libstd/net/ip.rs +++ b/src/libstd/net/ip.rs @@ -483,11 +483,11 @@ impl Ipv4Addr { /// ``` #[stable(since = "1.7.0", feature = "ip_17")] pub fn is_private(&self) -> bool { - match (self.octets()[0], self.octets()[1]) { - (10, _) => true, - (172, b) if b >= 16 && b <= 31 => true, - (192, 168) => true, - _ => false + match self.octets() { + [10, _..] => true, + [172, b, _..] if b >= 16 && b <= 31 => true, + [192, 168, _..] => true, + _ => false, } } @@ -509,7 +509,10 @@ impl Ipv4Addr { /// ``` #[stable(since = "1.7.0", feature = "ip_17")] pub fn is_link_local(&self) -> bool { - self.octets()[0] == 169 && self.octets()[1] == 254 + match self.octets() { + [169, 254, _..] => true, + _ => false, + } } /// Returns [`true`] if the address appears to be globally routable. @@ -612,11 +615,11 @@ impl Ipv4Addr { /// ``` #[stable(since = "1.7.0", feature = "ip_17")] pub fn is_documentation(&self) -> bool { - match(self.octets()[0], self.octets()[1], self.octets()[2], self.octets()[3]) { - (192, 0, 2, _) => true, - (198, 51, 100, _) => true, - (203, 0, 113, _) => true, - _ => false + match self.octets() { + [192, 0, 2, _] => true, + [198, 51, 100, _] => true, + [203, 0, 113, _] => true, + _ => false, } } -- cgit 1.4.1-3-g733a5