add From<[u8; n]> impls for IpAddr
This commit is contained in:
parent
c81c1d6a41
commit
87dcbcada2
1 changed files with 22 additions and 0 deletions
|
|
@ -656,6 +656,13 @@ impl From<[u8; 4]> for Ipv4Addr {
|
|||
}
|
||||
}
|
||||
|
||||
#[stable(feature = "ip_from_slice", since = "1.17.0")]
|
||||
impl From<[u8; 4]> for IpAddr {
|
||||
fn from(octets: [u8; 4]) -> IpAddr {
|
||||
IpAddr::V4(Ipv4Addr::from(octets))
|
||||
}
|
||||
}
|
||||
|
||||
impl Ipv6Addr {
|
||||
/// Creates a new IPv6 address from eight 16-bit segments.
|
||||
///
|
||||
|
|
@ -1166,6 +1173,21 @@ impl From<[u16; 8]> for Ipv6Addr {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
#[stable(feature = "ip_from_slice", since = "1.17.0")]
|
||||
impl From<[u8; 16]> for IpAddr {
|
||||
fn from(octets: [u8; 16]) -> IpAddr {
|
||||
IpAddr::V6(Ipv6Addr::from(octets))
|
||||
}
|
||||
}
|
||||
|
||||
#[stable(feature = "ip_from_slice", since = "1.17.0")]
|
||||
impl From<[u16; 8]> for IpAddr {
|
||||
fn from(octets: [u16; 8]) -> IpAddr {
|
||||
IpAddr::V6(Ipv6Addr::from(octets))
|
||||
}
|
||||
}
|
||||
|
||||
// Tests for this module
|
||||
#[cfg(all(test, not(target_os = "emscripten")))]
|
||||
mod tests {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue