diff options
| author | Abhishek Chanda <abhishek.becs@gmail.com> | 2016-03-04 14:12:18 -0800 |
|---|---|---|
| committer | Abhishek Chanda <abhishek.becs@gmail.com> | 2016-03-05 18:55:23 -0800 |
| commit | ee18d8e99b03a451f9dd549fd756ce006134bd73 (patch) | |
| tree | d983476518f39535e5aa186679c89bd8e547271f /src/libstd | |
| parent | c97524bef9e59a80875110b402b3fc8c139d4d64 (diff) | |
| download | rust-ee18d8e99b03a451f9dd549fd756ce006134bd73.tar.gz rust-ee18d8e99b03a451f9dd549fd756ce006134bd73.zip | |
Add an impl for From trait
Converts a u8 slice to a Ipv4Addr
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/net/ip.rs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/libstd/net/ip.rs b/src/libstd/net/ip.rs index 68075af61cf..e943eb6f26f 100644 --- a/src/libstd/net/ip.rs +++ b/src/libstd/net/ip.rs @@ -276,6 +276,13 @@ impl From<u32> for Ipv4Addr { } } +#[stable(feature = "from_slice_v4", since = "1.9.0")] +impl From<[u8; 4]> for Ipv4Addr { + fn from(octets: [u8; 4]) -> Ipv4Addr { + Ipv4Addr::new(octets[0], octets[1], octets[2], octets[3]) + } +} + impl Ipv6Addr { /// Creates a new IPv6 address from eight 16-bit segments. /// @@ -817,6 +824,11 @@ mod tests { } #[test] + fn ipv4_from_u32_slice() { + assert_eq!(Ipv4Addr::from([127, 0, 0, 1]), Ipv4Addr::new(127, 0, 0, 1)) + } + + #[test] fn ord() { assert!(Ipv4Addr::new(100, 64, 3, 3) < Ipv4Addr::new(192, 0, 2, 2)); assert!("2001:db8:f00::1002".parse::<Ipv6Addr>().unwrap() < |
