Not

Trait Not 

1.6.0 (const: unstable) · Source
pub trait Not {
    type Output;

    // Required method
    fn not(self) -> Self::Output;
}
Expand description

The unary logical negation operator !.

§Examples

An implementation of Not for Answer, which enables the use of ! to invert its value.

use std::ops::Not;

#[derive(Debug, PartialEq)]
enum Answer {
    Yes,
    No,
}

impl Not for Answer {
    type Output = Self;

    fn not(self) -> Self::Output {
        match self {
            Answer::Yes => Answer::No,
            Answer::No => Answer::Yes
        }
    }
}

assert_eq!(!Answer::Yes, Answer::No);
assert_eq!(!Answer::No, Answer::Yes);

Required Associated Types§

1.0.0 · Source

type Output

The resulting type after applying the ! operator.

Required Methods§

1.0.0 · Source

fn not(self) -> Self::Output

Performs the unary ! operation.

§Examples
assert_eq!(!true, false);
assert_eq!(!false, true);
assert_eq!(!1u8, 254);
assert_eq!(!0u8, 255);

Implementors§

1.0.0 (const: unstable) · Source§

impl Not for &bool

1.0.0 (const: unstable) · Source§

impl Not for &i8

1.0.0 (const: unstable) · Source§

impl Not for &i16

1.0.0 (const: unstable) · Source§

impl Not for &i32

1.0.0 (const: unstable) · Source§

impl Not for &i64

1.0.0 (const: unstable) · Source§

impl Not for &i128

1.0.0 (const: unstable) · Source§

impl Not for &isize

1.0.0 (const: unstable) · Source§

impl Not for &u8

1.0.0 (const: unstable) · Source§

impl Not for &u16

1.0.0 (const: unstable) · Source§

impl Not for &u32

1.0.0 (const: unstable) · Source§

impl Not for &u64

1.0.0 (const: unstable) · Source§

impl Not for &u128

1.0.0 (const: unstable) · Source§

impl Not for &usize

1.75.0 (const: unstable) · Source§

impl Not for &Ipv4Addr

1.75.0 (const: unstable) · Source§

impl Not for &Ipv6Addr

1.74.0 (const: unstable) · Source§

impl Not for &Saturating<i8>

1.74.0 (const: unstable) · Source§

impl Not for &Saturating<i16>

1.74.0 (const: unstable) · Source§

impl Not for &Saturating<i32>

1.74.0 (const: unstable) · Source§

impl Not for &Saturating<i64>

1.74.0 (const: unstable) · Source§

impl Not for &Saturating<i128>

1.74.0 (const: unstable) · Source§

impl Not for &Saturating<isize>

1.74.0 (const: unstable) · Source§

impl Not for &Saturating<u8>

1.74.0 (const: unstable) · Source§

impl Not for &Saturating<u16>

1.74.0 (const: unstable) · Source§

impl Not for &Saturating<u32>

1.74.0 (const: unstable) · Source§

impl Not for &Saturating<u64>

1.74.0 (const: unstable) · Source§

impl Not for &Saturating<u128>

1.74.0 (const: unstable) · Source§

impl Not for &Saturating<usize>

1.14.0 (const: unstable) · Source§

impl Not for &Wrapping<i8>

1.14.0 (const: unstable) · Source§

impl Not for &Wrapping<i16>

1.14.0 (const: unstable) · Source§

impl Not for &Wrapping<i32>

1.14.0 (const: unstable) · Source§

impl Not for &Wrapping<i64>

1.14.0 (const: unstable) · Source§

impl Not for &Wrapping<i128>

1.14.0 (const: unstable) · Source§

impl Not for &Wrapping<isize>

1.14.0 (const: unstable) · Source§

impl Not for &Wrapping<u8>

1.14.0 (const: unstable) · Source§

impl Not for &Wrapping<u16>

1.14.0 (const: unstable) · Source§

impl Not for &Wrapping<u32>

1.14.0 (const: unstable) · Source§

impl Not for &Wrapping<u64>

1.14.0 (const: unstable) · Source§

impl Not for &Wrapping<u128>

1.14.0 (const: unstable) · Source§

impl Not for &Wrapping<usize>

1.0.0 (const: unstable) · Source§

impl Not for bool

1.0.0 (const: unstable) · Source§

impl Not for i8

1.0.0 (const: unstable) · Source§

impl Not for i16

1.0.0 (const: unstable) · Source§

impl Not for i32

1.0.0 (const: unstable) · Source§

impl Not for i64

1.0.0 (const: unstable) · Source§

impl Not for i128

1.0.0 (const: unstable) · Source§

impl Not for isize

1.60.0 (const: unstable) · Source§

impl Not for !

1.0.0 (const: unstable) · Source§

impl Not for u8

1.0.0 (const: unstable) · Source§

impl Not for u16

1.0.0 (const: unstable) · Source§

impl Not for u32

1.0.0 (const: unstable) · Source§

impl Not for u64

1.0.0 (const: unstable) · Source§

impl Not for u128

1.0.0 (const: unstable) · Source§

impl Not for usize

Source§

impl Not for Capabilities

Source§

impl Not for PtraceAccessMode

Source§

impl Not for SecureBits

Source§

impl Not for Access

Source§

impl Not for FileMode

Source§

impl Not for InotifyMask

Source§

impl Not for IptIpFlagsV4

Source§

impl Not for IptIpFlagsV6

Source§

impl Not for IptIpInverseFlags

Source§

impl Not for NfIpHooks

Source§

impl Not for NfNatRangeFlags

Source§

impl Not for XtTcpInverseFlags

Source§

impl Not for XtUdpInverseFlags

Source§

impl Not for MountFlags

Source§

impl Not for starnix_uapi::open_flags::OpenFlags

Source§

impl Not for PersonalityFlags

Source§

impl Not for SealFlags

Source§

impl Not for SigSet

Source§

impl Not for UnmountFlags

Source§

impl Not for FdEvents

Source§

impl Not for ResolveFlags

1.75.0 (const: unstable) · Source§

impl Not for Ipv4Addr

1.75.0 (const: unstable) · Source§

impl Not for Ipv6Addr

1.74.0 (const: unstable) · Source§

impl Not for Saturating<i8>

1.74.0 (const: unstable) · Source§

impl Not for Saturating<i16>

1.74.0 (const: unstable) · Source§

impl Not for Saturating<i32>

1.74.0 (const: unstable) · Source§

impl Not for Saturating<i64>

1.74.0 (const: unstable) · Source§

impl Not for Saturating<i128>

1.74.0 (const: unstable) · Source§

impl Not for Saturating<isize>

1.74.0 (const: unstable) · Source§

impl Not for Saturating<u8>

1.74.0 (const: unstable) · Source§

impl Not for Saturating<u16>

1.74.0 (const: unstable) · Source§

impl Not for Saturating<u32>

1.74.0 (const: unstable) · Source§

impl Not for Saturating<u64>

1.74.0 (const: unstable) · Source§

impl Not for Saturating<u128>

1.74.0 (const: unstable) · Source§

impl Not for Saturating<usize>

1.0.0 (const: unstable) · Source§

impl Not for Wrapping<i8>

1.0.0 (const: unstable) · Source§

impl Not for Wrapping<i16>

1.0.0 (const: unstable) · Source§

impl Not for Wrapping<i32>

1.0.0 (const: unstable) · Source§

impl Not for Wrapping<i64>

1.0.0 (const: unstable) · Source§

impl Not for Wrapping<i128>

1.0.0 (const: unstable) · Source§

impl Not for Wrapping<isize>

1.0.0 (const: unstable) · Source§

impl Not for Wrapping<u8>

1.0.0 (const: unstable) · Source§

impl Not for Wrapping<u16>

1.0.0 (const: unstable) · Source§

impl Not for Wrapping<u32>

1.0.0 (const: unstable) · Source§

impl Not for Wrapping<u64>

1.0.0 (const: unstable) · Source§

impl Not for Wrapping<u128>

1.0.0 (const: unstable) · Source§

impl Not for Wrapping<usize>

§

impl Not for AddressTaggingFeatureFlags

§

type Output = AddressTaggingFeatureFlags

§

impl Not for AllocateMode

§

type Output = AllocateMode

§

impl Not for AtRestFlags

§

type Output = AtRestFlags

§

impl Not for BtiOptions

§

type Output = BtiOptions

§

impl Not for ClockOpts

§

type Output = ClockOpts

§

impl Not for ConfigMutability

§

type Output = ConfigMutability

§

impl Not for ConfigMutability

§

type Output = ConfigMutability

§

impl Not for CpuFeatureFlags

§

type Output = CpuFeatureFlags

§

impl Not for DebugLogOpts

§

type Output = DebugLogOpts

§

impl Not for DynamicFlags

§

type Output = DynamicFlags

§

impl Not for ExceptionChannelOptions

§

type Output = ExceptionChannelOptions

§

impl Not for FileSignal

§

type Output = FileSignal

§

impl Not for Flags

§

type Output = Flags

§

impl Not for IobAccess

§

type Output = IobAccess

§

impl Not for JobCriticalOptions

§

type Output = JobCriticalOptions

§

impl Not for MemoryStallKind

§

type Output = MemoryStallKind

§

impl Not for ModeType

§

type Output = ModeType

§

impl Not for NodeAttributeFlags

§

type Output = NodeAttributeFlags

§

impl Not for NodeAttributesQuery

§

type Output = NodeAttributesQuery

§

impl Not for NodeProtocolKinds

§

type Output = NodeProtocolKinds

§

impl Not for OpenFlags

§

type Output = OpenFlags

§

impl Not for Operations

§

type Output = Operations

§

impl Not for PagerOptions

§

type Output = PagerOptions

§

impl Not for PagerWritebackBeginOptions

§

type Output = PagerWritebackBeginOptions

§

impl Not for PortOptions

§

type Output = PortOptions

§

impl Not for ProcessInfoFlags

§

type Output = ProcessInfoFlags

§

impl Not for ProcessOptions

§

type Output = ProcessOptions

§

impl Not for RaiseExceptionOptions

§

type Output = RaiseExceptionOptions

§

impl Not for ResourceFlag

§

type Output = ResourceFlag

§

impl Not for ResourceKind

§

type Output = ResourceKind

§

impl Not for Rights

§

type Output = Rights

§

impl Not for Signals

§

type Output = Signals

§

impl Not for SocketOpts

§

type Output = SocketOpts

§

impl Not for SocketReadOpts

§

type Output = SocketReadOpts

§

impl Not for SocketWriteOpts

§

type Output = SocketWriteOpts

§

impl Not for StreamOptions

§

type Output = StreamOptions

§

impl Not for StreamReadOptions

§

type Output = StreamReadOptions

§

impl Not for StreamWriteOptions

§

type Output = StreamWriteOptions

§

impl Not for TransferDataOptions

§

type Output = TransferDataOptions

§

impl Not for UnlinkFlags

§

type Output = UnlinkFlags

§

impl Not for VirtualMemoryFeatureFlags

§

type Output = VirtualMemoryFeatureFlags

§

impl Not for VmarFlags

§

type Output = VmarFlags

§

impl Not for VmarFlagsExtended

§

type Output = VmarFlagsExtended

§

impl Not for VmoChildOptions

§

type Output = VmoChildOptions

§

impl Not for VmoFlags

§

type Output = VmoFlags

§

impl Not for VmoInfoFlags

§

type Output = VmoInfoFlags

§

impl Not for VmoOptions

§

type Output = VmoOptions

§

impl Not for WaitAsyncOpts

§

type Output = WaitAsyncOpts

§

impl Not for WatchMask

§

type Output = WatchMask

Source§

impl<O> Not for I16<O>

Source§

impl<O> Not for I32<O>

Source§

impl<O> Not for I64<O>

Source§

impl<O> Not for I128<O>

Source§

impl<O> Not for Isize<O>

Source§

impl<O> Not for U16<O>

Source§

impl<O> Not for U32<O>

Source§

impl<O> Not for U64<O>

Source§

impl<O> Not for U128<O>

Source§

impl<O> Not for Usize<O>

Source§

impl<T, const N: usize> Not for Mask<T, N>

Source§

type Output = Mask<T, N>

Source§

impl<const N: usize> Not for Simd<i8, N>

Source§

impl<const N: usize> Not for Simd<i16, N>

Source§

impl<const N: usize> Not for Simd<i32, N>

Source§

impl<const N: usize> Not for Simd<i64, N>

Source§

impl<const N: usize> Not for Simd<isize, N>

Source§

impl<const N: usize> Not for Simd<u8, N>

Source§

impl<const N: usize> Not for Simd<u16, N>

Source§

impl<const N: usize> Not for Simd<u32, N>

Source§

impl<const N: usize> Not for Simd<u64, N>

Source§

impl<const N: usize> Not for Simd<usize, N>