about summary refs log tree commit diff
path: root/src/libstd/net
diff options
context:
space:
mode:
authorLinus Färnstrand <faern@faern.net>2018-08-10 18:00:50 +0200
committerLinus Färnstrand <faern@faern.net>2018-08-10 21:06:36 +0200
commit2f1f43fcd4faefb27e3c552e8df7b8924d1d5d77 (patch)
tree54062d675312590a0130e3797ba9b709d5817c26 /src/libstd/net
parenta77dfcc79fe3e7e1a10ae4dccfd4b2e5e0e49195 (diff)
downloadrust-2f1f43fcd4faefb27e3c552e8df7b8924d1d5d77.tar.gz
rust-2f1f43fcd4faefb27e3c552e8df7b8924d1d5d77.zip
Use slice patterns to check IP octets
Diffstat (limited to 'src/libstd/net')
-rw-r--r--src/libstd/net/ip.rs25
1 files changed, 14 insertions, 11 deletions
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,
         }
     }