diff options
| author | Linus Färnstrand <faern@faern.net> | 2018-08-10 18:00:50 +0200 |
|---|---|---|
| committer | Linus Färnstrand <faern@faern.net> | 2018-08-10 21:06:36 +0200 |
| commit | 2f1f43fcd4faefb27e3c552e8df7b8924d1d5d77 (patch) | |
| tree | 54062d675312590a0130e3797ba9b709d5817c26 /src/libstd/net | |
| parent | a77dfcc79fe3e7e1a10ae4dccfd4b2e5e0e49195 (diff) | |
| download | rust-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.rs | 25 |
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, } } |
