pub struct NonMappedAddr<A>(/* private fields */);
Expand description
An address which is guaranteed to be non_mapped.
NonMappedAddr
wraps an address of type A
and guarantees that it is
a non_mapped address. Note that this guarantee is contingent on a correct
implementation of the MappedAddress
trait. Since that trait is
not unsafe
, unsafe
code may NOT rely on this guarantee for its soundness.
Implementations§
Source§impl<A: MappedAddress> NonMappedAddr<A>
impl<A: MappedAddress> NonMappedAddr<A>
Sourcepub fn new(addr: A) -> Option<NonMappedAddr<A>>
pub fn new(addr: A) -> Option<NonMappedAddr<A>>
Constructs a new NonMappedAddr
.
new
returns None
if !addr.is_non_mapped()
.
Sourcepub fn from_witness<W: Witness<A>>(addr: W) -> Option<NonMappedAddr<A>>
pub fn from_witness<W: Witness<A>>(addr: W) -> Option<NonMappedAddr<A>>
Constructs a new NonMappedAddr
from a
witness type.
from_witness(witness)
is equivalent to new(witness.into_addr())
.
Source§impl<A> NonMappedAddr<A>
impl<A> NonMappedAddr<A>
Sourcepub const unsafe fn new_unchecked(addr: A) -> NonMappedAddr<A>
pub const unsafe fn new_unchecked(addr: A) -> NonMappedAddr<A>
Constructs a new NonMappedAddr
without
checking to see if addr
is actually non_mapped.
§Safety
It is up to the caller to make sure that addr
is non_mapped to avoid breaking
the guarantees of NonMappedAddr
. See NonMappedAddr
for
more details.
Trait Implementations§
Source§impl<A: MappedAddress> AsRef<A> for NonMappedAddr<A>
impl<A: MappedAddress> AsRef<A> for NonMappedAddr<A>
Source§impl<A: MappedAddress + BroadcastAddress> AsRef<A> for NonMappedAddr<BroadcastAddr<A>>
impl<A: MappedAddress + BroadcastAddress> AsRef<A> for NonMappedAddr<BroadcastAddr<A>>
Source§impl<A: MappedAddress + LinkLocalAddress> AsRef<A> for NonMappedAddr<LinkLocalAddr<A>>
impl<A: MappedAddress + LinkLocalAddress> AsRef<A> for NonMappedAddr<LinkLocalAddr<A>>
Source§impl<A: MappedAddress + MulticastAddress> AsRef<A> for NonMappedAddr<MulticastAddr<A>>
impl<A: MappedAddress + MulticastAddress> AsRef<A> for NonMappedAddr<MulticastAddr<A>>
Source§impl<A: MappedAddress + SpecifiedAddress> AsRef<A> for NonMappedAddr<SpecifiedAddr<A>>
impl<A: MappedAddress + SpecifiedAddress> AsRef<A> for NonMappedAddr<SpecifiedAddr<A>>
Source§impl<A: MappedAddress + UnicastAddress> AsRef<A> for NonMappedAddr<UnicastAddr<A>>
impl<A: MappedAddress + UnicastAddress> AsRef<A> for NonMappedAddr<UnicastAddr<A>>
Source§impl<A: MappedAddress> AsRef<NonMappedAddr<A>> for NonMappedAddr<A>
impl<A: MappedAddress> AsRef<NonMappedAddr<A>> for NonMappedAddr<A>
Source§fn as_ref(&self) -> &NonMappedAddr<A>
fn as_ref(&self) -> &NonMappedAddr<A>
Converts this type into a shared reference of the (usually inferred) input type.
Source§impl<A: BroadcastAddress> BroadcastAddress for NonMappedAddr<A>
impl<A: BroadcastAddress> BroadcastAddress for NonMappedAddr<A>
Source§fn is_broadcast(&self) -> bool
fn is_broadcast(&self) -> bool
Is this a broadcast address? Read more
Source§impl<A: Clone> Clone for NonMappedAddr<A>
impl<A: Clone> Clone for NonMappedAddr<A>
Source§fn clone(&self) -> NonMappedAddr<A>
fn clone(&self) -> NonMappedAddr<A>
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<A: Debug> Debug for NonMappedAddr<A>
impl<A: Debug> Debug for NonMappedAddr<A>
Source§impl<A: MappedAddress> Deref for NonMappedAddr<A>
impl<A: MappedAddress> Deref for NonMappedAddr<A>
Source§impl<A: Display> Display for NonMappedAddr<A>
impl<A: Display> Display for NonMappedAddr<A>
Source§impl From<IpAddr<NonMappedAddr<Ipv4Addr>, NonMappedAddr<Ipv6Addr>>> for NonMappedAddr<IpAddr>
impl From<IpAddr<NonMappedAddr<Ipv4Addr>, NonMappedAddr<Ipv6Addr>>> for NonMappedAddr<IpAddr>
Source§fn from(
addr: IpAddr<NonMappedAddr<Ipv4Addr>, NonMappedAddr<Ipv6Addr>>,
) -> NonMappedAddr<IpAddr>
fn from( addr: IpAddr<NonMappedAddr<Ipv4Addr>, NonMappedAddr<Ipv6Addr>>, ) -> NonMappedAddr<IpAddr>
Converts to this type from the input type.
Source§impl<A: IpAddress> From<NonMappedAddr<A>> for IpAddr<NonMappedAddr<Ipv4Addr>, NonMappedAddr<Ipv6Addr>>
impl<A: IpAddress> From<NonMappedAddr<A>> for IpAddr<NonMappedAddr<Ipv4Addr>, NonMappedAddr<Ipv6Addr>>
Source§fn from(
addr: NonMappedAddr<A>,
) -> IpAddr<NonMappedAddr<Ipv4Addr>, NonMappedAddr<Ipv6Addr>>
fn from( addr: NonMappedAddr<A>, ) -> IpAddr<NonMappedAddr<Ipv4Addr>, NonMappedAddr<Ipv6Addr>>
Converts to this type from the input type.
Source§impl<A: Into<Ipv4Addr> + MappedAddress + Copy> From<NonMappedAddr<A>> for Ipv4Addr
impl<A: Into<Ipv4Addr> + MappedAddress + Copy> From<NonMappedAddr<A>> for Ipv4Addr
Source§fn from(addr: NonMappedAddr<A>) -> Ipv4Addr
fn from(addr: NonMappedAddr<A>) -> Ipv4Addr
Converts to this type from the input type.
Source§impl<A: Into<Ipv6Addr> + MappedAddress + Copy> From<NonMappedAddr<A>> for Ipv6Addr
impl<A: Into<Ipv6Addr> + MappedAddress + Copy> From<NonMappedAddr<A>> for Ipv6Addr
Source§fn from(addr: NonMappedAddr<A>) -> Ipv6Addr
fn from(addr: NonMappedAddr<A>) -> Ipv6Addr
Converts to this type from the input type.
Source§impl<A: IpAddress> From<NonMappedAddr<A>> for NonMappedAddr<IpAddr>
impl<A: IpAddress> From<NonMappedAddr<A>> for NonMappedAddr<IpAddr>
Source§fn from(addr: NonMappedAddr<A>) -> NonMappedAddr<IpAddr>
fn from(addr: NonMappedAddr<A>) -> NonMappedAddr<IpAddr>
Converts to this type from the input type.
Source§impl<A: MappedAddress + BroadcastAddress + SpecifiedAddress> From<NonMappedAddr<BroadcastAddr<A>>> for SpecifiedAddr<A>
impl<A: MappedAddress + BroadcastAddress + SpecifiedAddress> From<NonMappedAddr<BroadcastAddr<A>>> for SpecifiedAddr<A>
Source§fn from(addr: NonMappedAddr<BroadcastAddr<A>>) -> SpecifiedAddr<A>
fn from(addr: NonMappedAddr<BroadcastAddr<A>>) -> SpecifiedAddr<A>
Converts to this type from the input type.
Source§impl From<NonMappedAddr<IpAddr>> for IpAddr<NonMappedAddr<Ipv4Addr>, NonMappedAddr<Ipv6Addr>>
impl From<NonMappedAddr<IpAddr>> for IpAddr<NonMappedAddr<Ipv4Addr>, NonMappedAddr<Ipv6Addr>>
Source§fn from(
addr: NonMappedAddr<IpAddr>,
) -> IpAddr<NonMappedAddr<Ipv4Addr>, NonMappedAddr<Ipv6Addr>>
fn from( addr: NonMappedAddr<IpAddr>, ) -> IpAddr<NonMappedAddr<Ipv4Addr>, NonMappedAddr<Ipv6Addr>>
Converts to this type from the input type.
Source§impl<A: MappedAddress + LinkLocalAddress + SpecifiedAddress> From<NonMappedAddr<LinkLocalAddr<A>>> for SpecifiedAddr<A>
impl<A: MappedAddress + LinkLocalAddress + SpecifiedAddress> From<NonMappedAddr<LinkLocalAddr<A>>> for SpecifiedAddr<A>
Source§fn from(addr: NonMappedAddr<LinkLocalAddr<A>>) -> SpecifiedAddr<A>
fn from(addr: NonMappedAddr<LinkLocalAddr<A>>) -> SpecifiedAddr<A>
Converts to this type from the input type.
Source§impl<A: MappedAddress + MulticastAddress + SpecifiedAddress> From<NonMappedAddr<MulticastAddr<A>>> for SpecifiedAddr<A>
impl<A: MappedAddress + MulticastAddress + SpecifiedAddress> From<NonMappedAddr<MulticastAddr<A>>> for SpecifiedAddr<A>
Source§fn from(addr: NonMappedAddr<MulticastAddr<A>>) -> SpecifiedAddr<A>
fn from(addr: NonMappedAddr<MulticastAddr<A>>) -> SpecifiedAddr<A>
Converts to this type from the input type.
Source§impl<A: MappedAddress + SpecifiedAddress> From<NonMappedAddr<SpecifiedAddr<A>>> for SpecifiedAddr<A>
impl<A: MappedAddress + SpecifiedAddress> From<NonMappedAddr<SpecifiedAddr<A>>> for SpecifiedAddr<A>
Source§fn from(addr: NonMappedAddr<SpecifiedAddr<A>>) -> SpecifiedAddr<A>
fn from(addr: NonMappedAddr<SpecifiedAddr<A>>) -> SpecifiedAddr<A>
Converts to this type from the input type.
Source§impl<A: MappedAddress + UnicastAddress + SpecifiedAddress> From<NonMappedAddr<UnicastAddr<A>>> for SpecifiedAddr<A>
impl<A: MappedAddress + UnicastAddress + SpecifiedAddress> From<NonMappedAddr<UnicastAddr<A>>> for SpecifiedAddr<A>
Source§fn from(addr: NonMappedAddr<UnicastAddr<A>>) -> SpecifiedAddr<A>
fn from(addr: NonMappedAddr<UnicastAddr<A>>) -> SpecifiedAddr<A>
Converts to this type from the input type.
Source§impl<A: Hash> Hash for NonMappedAddr<A>
impl<A: Hash> Hash for NonMappedAddr<A>
Source§impl<A: LinkLocalAddress> LinkLocalAddress for NonMappedAddr<A>
impl<A: LinkLocalAddress> LinkLocalAddress for NonMappedAddr<A>
Source§fn is_link_local(&self) -> bool
fn is_link_local(&self) -> bool
Is this a link-local address? Read more
Source§impl<A: MulticastAddress> MulticastAddress for NonMappedAddr<A>
impl<A: MulticastAddress> MulticastAddress for NonMappedAddr<A>
Source§fn is_multicast(&self) -> bool
fn is_multicast(&self) -> bool
Is this a multicast address? Read more
Source§fn is_non_multicast(&self) -> bool
fn is_non_multicast(&self) -> bool
Is this a non-multicast address? The inverse of
is_multicast()
.Source§impl<A: Ord> Ord for NonMappedAddr<A>
impl<A: Ord> Ord for NonMappedAddr<A>
Source§fn cmp(&self, other: &NonMappedAddr<A>) -> Ordering
fn cmp(&self, other: &NonMappedAddr<A>) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl<A: PartialEq> PartialEq for NonMappedAddr<A>
impl<A: PartialEq> PartialEq for NonMappedAddr<A>
Source§impl<A: PartialOrd> PartialOrd for NonMappedAddr<A>
impl<A: PartialOrd> PartialOrd for NonMappedAddr<A>
Source§impl<A: ScopeableAddress> ScopeableAddress for NonMappedAddr<A>
impl<A: ScopeableAddress> ScopeableAddress for NonMappedAddr<A>
Source§impl<A: SpecifiedAddress> SpecifiedAddress for NonMappedAddr<A>
impl<A: SpecifiedAddress> SpecifiedAddress for NonMappedAddr<A>
Source§fn is_specified(&self) -> bool
fn is_specified(&self) -> bool
Is this a specified address? Read more
Source§impl<A: MappedAddress> TransposableWitness<A> for NonMappedAddr<A>
impl<A: MappedAddress> TransposableWitness<A> for NonMappedAddr<A>
Source§type Map<T> = NonMappedAddr<T>
type Map<T> = NonMappedAddr<T>
Maps the type wrapped by this witness.
Source§impl<A: BroadcastAddress + MappedAddress> TryFrom<BroadcastAddr<A>> for NonMappedAddr<A>
impl<A: BroadcastAddress + MappedAddress> TryFrom<BroadcastAddr<A>> for NonMappedAddr<A>
Source§impl<A: LinkLocalAddress + MappedAddress> TryFrom<LinkLocalAddr<A>> for NonMappedAddr<A>
impl<A: LinkLocalAddress + MappedAddress> TryFrom<LinkLocalAddr<A>> for NonMappedAddr<A>
Source§impl<A: MulticastAddress + MappedAddress> TryFrom<MulticastAddr<A>> for NonMappedAddr<A>
impl<A: MulticastAddress + MappedAddress> TryFrom<MulticastAddr<A>> for NonMappedAddr<A>
Source§impl<A: MappedAddress + BroadcastAddress> TryFrom<NonMappedAddr<A>> for BroadcastAddr<A>
impl<A: MappedAddress + BroadcastAddress> TryFrom<NonMappedAddr<A>> for BroadcastAddr<A>
Source§impl<A: MappedAddress + LinkLocalAddress> TryFrom<NonMappedAddr<A>> for LinkLocalAddr<A>
impl<A: MappedAddress + LinkLocalAddress> TryFrom<NonMappedAddr<A>> for LinkLocalAddr<A>
Source§impl<A: MappedAddress + LinkLocalBroadcastAddress> TryFrom<NonMappedAddr<A>> for LinkLocalBroadcastAddr<A>
impl<A: MappedAddress + LinkLocalBroadcastAddress> TryFrom<NonMappedAddr<A>> for LinkLocalBroadcastAddr<A>
Source§impl<A: MappedAddress + LinkLocalMulticastAddress> TryFrom<NonMappedAddr<A>> for LinkLocalMulticastAddr<A>
impl<A: MappedAddress + LinkLocalMulticastAddress> TryFrom<NonMappedAddr<A>> for LinkLocalMulticastAddr<A>
Source§impl<A: MappedAddress + LinkLocalUnicastAddress> TryFrom<NonMappedAddr<A>> for LinkLocalUnicastAddr<A>
impl<A: MappedAddress + LinkLocalUnicastAddress> TryFrom<NonMappedAddr<A>> for LinkLocalUnicastAddr<A>
Source§impl<A: MappedAddress + MulticastAddress> TryFrom<NonMappedAddr<A>> for MulticastAddr<A>
impl<A: MappedAddress + MulticastAddress> TryFrom<NonMappedAddr<A>> for MulticastAddr<A>
Source§impl<A: MappedAddress + SpecifiedAddress> TryFrom<NonMappedAddr<A>> for SpecifiedAddr<A>
impl<A: MappedAddress + SpecifiedAddress> TryFrom<NonMappedAddr<A>> for SpecifiedAddr<A>
Source§impl<A: MappedAddress + UnicastAddress> TryFrom<NonMappedAddr<A>> for UnicastAddr<A>
impl<A: MappedAddress + UnicastAddress> TryFrom<NonMappedAddr<A>> for UnicastAddr<A>
Source§impl<A: SpecifiedAddress + MappedAddress> TryFrom<SpecifiedAddr<A>> for NonMappedAddr<A>
impl<A: SpecifiedAddress + MappedAddress> TryFrom<SpecifiedAddr<A>> for NonMappedAddr<A>
Source§impl<A: UnicastAddress + MappedAddress> TryFrom<UnicastAddr<A>> for NonMappedAddr<A>
impl<A: UnicastAddress + MappedAddress> TryFrom<UnicastAddr<A>> for NonMappedAddr<A>
Source§impl<A: UnicastAddress> UnicastAddress for NonMappedAddr<A>
impl<A: UnicastAddress> UnicastAddress for NonMappedAddr<A>
Source§fn is_unicast(&self) -> bool
fn is_unicast(&self) -> bool
Is this a unicast address? Read more
Source§impl<A: MappedAddress> Witness<A> for NonMappedAddr<A>
impl<A: MappedAddress> Witness<A> for NonMappedAddr<A>
Source§unsafe fn new_unchecked(addr: A) -> NonMappedAddr<A>
unsafe fn new_unchecked(addr: A) -> NonMappedAddr<A>
Constructs a new witness type without checking to see if
addr
actually
satisfies the required property. Read moreSource§fn from_witness<W: Witness<A>>(addr: W) -> Option<Self>
fn from_witness<W: Witness<A>>(addr: W) -> Option<Self>
Constructs a new witness type from an existing witness type. Read more
Source§fn transpose<T>(self) -> A::Map<Self::Map<T>>where
Self: TransposableWitness<A>,
A: TransposableWitness<T>,
Self::Map<T>: Witness<T>,
A::Map<Self::Map<T>>: Witness<Self::Map<T>>,
fn transpose<T>(self) -> A::Map<Self::Map<T>>where
Self: TransposableWitness<A>,
A: TransposableWitness<T>,
Self::Map<T>: Witness<T>,
A::Map<Self::Map<T>>: Witness<Self::Map<T>>,
Transposes this witness type with another witness type layered inside of
it.
(e.g. UnicastAddr<SpecifiedAddr> -> SpecifiedAddr<UnicastAddr>)
Source§impl<A: MappedAddress + BroadcastAddress> Witness<A> for NonMappedAddr<BroadcastAddr<A>>
impl<A: MappedAddress + BroadcastAddress> Witness<A> for NonMappedAddr<BroadcastAddr<A>>
Source§fn new(addr: A) -> Option<NonMappedAddr<BroadcastAddr<A>>>
fn new(addr: A) -> Option<NonMappedAddr<BroadcastAddr<A>>>
Constructs a new witness type. Read more
Source§unsafe fn new_unchecked(addr: A) -> NonMappedAddr<BroadcastAddr<A>>
unsafe fn new_unchecked(addr: A) -> NonMappedAddr<BroadcastAddr<A>>
Constructs a new witness type without checking to see if
addr
actually
satisfies the required property. Read moreSource§fn from_witness<W: Witness<A>>(addr: W) -> Option<Self>
fn from_witness<W: Witness<A>>(addr: W) -> Option<Self>
Constructs a new witness type from an existing witness type. Read more
Source§fn transpose<T>(self) -> A::Map<Self::Map<T>>where
Self: TransposableWitness<A>,
A: TransposableWitness<T>,
Self::Map<T>: Witness<T>,
A::Map<Self::Map<T>>: Witness<Self::Map<T>>,
fn transpose<T>(self) -> A::Map<Self::Map<T>>where
Self: TransposableWitness<A>,
A: TransposableWitness<T>,
Self::Map<T>: Witness<T>,
A::Map<Self::Map<T>>: Witness<Self::Map<T>>,
Transposes this witness type with another witness type layered inside of
it.
(e.g. UnicastAddr<SpecifiedAddr> -> SpecifiedAddr<UnicastAddr>)
Source§impl<A: MappedAddress + LinkLocalAddress> Witness<A> for NonMappedAddr<LinkLocalAddr<A>>
impl<A: MappedAddress + LinkLocalAddress> Witness<A> for NonMappedAddr<LinkLocalAddr<A>>
Source§fn new(addr: A) -> Option<NonMappedAddr<LinkLocalAddr<A>>>
fn new(addr: A) -> Option<NonMappedAddr<LinkLocalAddr<A>>>
Constructs a new witness type. Read more
Source§unsafe fn new_unchecked(addr: A) -> NonMappedAddr<LinkLocalAddr<A>>
unsafe fn new_unchecked(addr: A) -> NonMappedAddr<LinkLocalAddr<A>>
Constructs a new witness type without checking to see if
addr
actually
satisfies the required property. Read moreSource§fn from_witness<W: Witness<A>>(addr: W) -> Option<Self>
fn from_witness<W: Witness<A>>(addr: W) -> Option<Self>
Constructs a new witness type from an existing witness type. Read more
Source§fn transpose<T>(self) -> A::Map<Self::Map<T>>where
Self: TransposableWitness<A>,
A: TransposableWitness<T>,
Self::Map<T>: Witness<T>,
A::Map<Self::Map<T>>: Witness<Self::Map<T>>,
fn transpose<T>(self) -> A::Map<Self::Map<T>>where
Self: TransposableWitness<A>,
A: TransposableWitness<T>,
Self::Map<T>: Witness<T>,
A::Map<Self::Map<T>>: Witness<Self::Map<T>>,
Transposes this witness type with another witness type layered inside of
it.
(e.g. UnicastAddr<SpecifiedAddr> -> SpecifiedAddr<UnicastAddr>)
Source§impl<A: MappedAddress + MulticastAddress> Witness<A> for NonMappedAddr<MulticastAddr<A>>
impl<A: MappedAddress + MulticastAddress> Witness<A> for NonMappedAddr<MulticastAddr<A>>
Source§fn new(addr: A) -> Option<NonMappedAddr<MulticastAddr<A>>>
fn new(addr: A) -> Option<NonMappedAddr<MulticastAddr<A>>>
Constructs a new witness type. Read more
Source§unsafe fn new_unchecked(addr: A) -> NonMappedAddr<MulticastAddr<A>>
unsafe fn new_unchecked(addr: A) -> NonMappedAddr<MulticastAddr<A>>
Constructs a new witness type without checking to see if
addr
actually
satisfies the required property. Read moreSource§fn from_witness<W: Witness<A>>(addr: W) -> Option<Self>
fn from_witness<W: Witness<A>>(addr: W) -> Option<Self>
Constructs a new witness type from an existing witness type. Read more
Source§fn transpose<T>(self) -> A::Map<Self::Map<T>>where
Self: TransposableWitness<A>,
A: TransposableWitness<T>,
Self::Map<T>: Witness<T>,
A::Map<Self::Map<T>>: Witness<Self::Map<T>>,
fn transpose<T>(self) -> A::Map<Self::Map<T>>where
Self: TransposableWitness<A>,
A: TransposableWitness<T>,
Self::Map<T>: Witness<T>,
A::Map<Self::Map<T>>: Witness<Self::Map<T>>,
Transposes this witness type with another witness type layered inside of
it.
(e.g. UnicastAddr<SpecifiedAddr> -> SpecifiedAddr<UnicastAddr>)
Source§impl<A: MappedAddress + SpecifiedAddress> Witness<A> for NonMappedAddr<SpecifiedAddr<A>>
impl<A: MappedAddress + SpecifiedAddress> Witness<A> for NonMappedAddr<SpecifiedAddr<A>>
Source§fn new(addr: A) -> Option<NonMappedAddr<SpecifiedAddr<A>>>
fn new(addr: A) -> Option<NonMappedAddr<SpecifiedAddr<A>>>
Constructs a new witness type. Read more
Source§unsafe fn new_unchecked(addr: A) -> NonMappedAddr<SpecifiedAddr<A>>
unsafe fn new_unchecked(addr: A) -> NonMappedAddr<SpecifiedAddr<A>>
Constructs a new witness type without checking to see if
addr
actually
satisfies the required property. Read moreSource§fn from_witness<W: Witness<A>>(addr: W) -> Option<Self>
fn from_witness<W: Witness<A>>(addr: W) -> Option<Self>
Constructs a new witness type from an existing witness type. Read more
Source§fn transpose<T>(self) -> A::Map<Self::Map<T>>where
Self: TransposableWitness<A>,
A: TransposableWitness<T>,
Self::Map<T>: Witness<T>,
A::Map<Self::Map<T>>: Witness<Self::Map<T>>,
fn transpose<T>(self) -> A::Map<Self::Map<T>>where
Self: TransposableWitness<A>,
A: TransposableWitness<T>,
Self::Map<T>: Witness<T>,
A::Map<Self::Map<T>>: Witness<Self::Map<T>>,
Transposes this witness type with another witness type layered inside of
it.
(e.g. UnicastAddr<SpecifiedAddr> -> SpecifiedAddr<UnicastAddr>)
Source§impl<A: MappedAddress + UnicastAddress> Witness<A> for NonMappedAddr<UnicastAddr<A>>
impl<A: MappedAddress + UnicastAddress> Witness<A> for NonMappedAddr<UnicastAddr<A>>
Source§fn new(addr: A) -> Option<NonMappedAddr<UnicastAddr<A>>>
fn new(addr: A) -> Option<NonMappedAddr<UnicastAddr<A>>>
Constructs a new witness type. Read more
Source§unsafe fn new_unchecked(addr: A) -> NonMappedAddr<UnicastAddr<A>>
unsafe fn new_unchecked(addr: A) -> NonMappedAddr<UnicastAddr<A>>
Constructs a new witness type without checking to see if
addr
actually
satisfies the required property. Read moreSource§fn from_witness<W: Witness<A>>(addr: W) -> Option<Self>
fn from_witness<W: Witness<A>>(addr: W) -> Option<Self>
Constructs a new witness type from an existing witness type. Read more
Source§fn transpose<T>(self) -> A::Map<Self::Map<T>>where
Self: TransposableWitness<A>,
A: TransposableWitness<T>,
Self::Map<T>: Witness<T>,
A::Map<Self::Map<T>>: Witness<Self::Map<T>>,
fn transpose<T>(self) -> A::Map<Self::Map<T>>where
Self: TransposableWitness<A>,
A: TransposableWitness<T>,
Self::Map<T>: Witness<T>,
A::Map<Self::Map<T>>: Witness<Self::Map<T>>,
Transposes this witness type with another witness type layered inside of
it.
(e.g. UnicastAddr<SpecifiedAddr> -> SpecifiedAddr<UnicastAddr>)
impl<A: Copy> Copy for NonMappedAddr<A>
impl<A: Eq> Eq for NonMappedAddr<A>
impl<A> StructuralPartialEq for NonMappedAddr<A>
Auto Trait Implementations§
impl<A> Freeze for NonMappedAddr<A>where
A: Freeze,
impl<A> RefUnwindSafe for NonMappedAddr<A>where
A: RefUnwindSafe,
impl<A> Send for NonMappedAddr<A>where
A: Send,
impl<A> Sync for NonMappedAddr<A>where
A: Sync,
impl<A> Unpin for NonMappedAddr<A>where
A: Unpin,
impl<A> UnwindSafe for NonMappedAddr<A>where
A: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)