Not

Trait Not 

1.0.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 &datex_core::without_std::num::Wrapping<i8>

1.14.0 (const: unstable) · Source§

impl Not for &datex_core::without_std::num::Wrapping<i16>

1.14.0 (const: unstable) · Source§

impl Not for &datex_core::without_std::num::Wrapping<i32>

1.14.0 (const: unstable) · Source§

impl Not for &datex_core::without_std::num::Wrapping<i64>

1.14.0 (const: unstable) · Source§

impl Not for &datex_core::without_std::num::Wrapping<i128>

1.14.0 (const: unstable) · Source§

impl Not for &datex_core::without_std::num::Wrapping<isize>

1.14.0 (const: unstable) · Source§

impl Not for &datex_core::without_std::num::Wrapping<u8>

1.14.0 (const: unstable) · Source§

impl Not for &datex_core::without_std::num::Wrapping<u16>

1.14.0 (const: unstable) · Source§

impl Not for &datex_core::without_std::num::Wrapping<u32>

1.14.0 (const: unstable) · Source§

impl Not for &datex_core::without_std::num::Wrapping<u64>

1.14.0 (const: unstable) · Source§

impl Not for &datex_core::without_std::num::Wrapping<u128>

1.14.0 (const: unstable) · Source§

impl Not for &datex_core::without_std::num::Wrapping<usize>

Source§

impl Not for &BigInt

Source§

impl Not for CoreValue

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 Boolean

Source§

impl Not for Value

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 datex_core::without_std::num::Wrapping<i8>

1.0.0 (const: unstable) · Source§

impl Not for datex_core::without_std::num::Wrapping<i16>

1.0.0 (const: unstable) · Source§

impl Not for datex_core::without_std::num::Wrapping<i32>

1.0.0 (const: unstable) · Source§

impl Not for datex_core::without_std::num::Wrapping<i64>

1.0.0 (const: unstable) · Source§

impl Not for datex_core::without_std::num::Wrapping<i128>

1.0.0 (const: unstable) · Source§

impl Not for datex_core::without_std::num::Wrapping<isize>

1.0.0 (const: unstable) · Source§

impl Not for datex_core::without_std::num::Wrapping<u8>

1.0.0 (const: unstable) · Source§

impl Not for datex_core::without_std::num::Wrapping<u16>

1.0.0 (const: unstable) · Source§

impl Not for datex_core::without_std::num::Wrapping<u32>

1.0.0 (const: unstable) · Source§

impl Not for datex_core::without_std::num::Wrapping<u64>

1.0.0 (const: unstable) · Source§

impl Not for datex_core::without_std::num::Wrapping<u128>

1.0.0 (const: unstable) · Source§

impl Not for datex_core::without_std::num::Wrapping<usize>

Source§

impl Not for bigint::uint::U128

Source§

impl Not for U256

Source§

impl Not for U512

Source§

impl Not for Limb

Source§

impl Not for AtFlags

Source§

impl Not for FallocateFlags

Source§

impl Not for FdFlag

Source§

impl Not for OFlag

Source§

impl Not for RenameFlags

Source§

impl Not for SealFlag

Source§

impl Not for SpliceFFlags

Source§

impl Not for DeleteModuleFlags

Source§

impl Not for ModuleInitFlags

Source§

impl Not for MntFlags

Source§

impl Not for nix::mount::linux::MsFlags

Source§

impl Not for MQ_OFlag

Source§

impl Not for InterfaceFlags

Source§

impl Not for PollFlags

Source§

impl Not for CloneFlags

Source§

impl Not for EpollCreateFlags

Source§

impl Not for EpollFlags

Source§

impl Not for EfdFlags

Source§

impl Not for AddWatchFlags

Source§

impl Not for InitFlags

Source§

impl Not for MemFdCreateFlag

Source§

impl Not for MRemapFlags

Source§

impl Not for MapFlags

Source§

impl Not for MlockAllFlags

Source§

impl Not for nix::sys::mman::MsFlags

Source§

impl Not for ProtFlags

Source§

impl Not for Persona

Source§

impl Not for Options

Source§

impl Not for QuotaValidFlags

Source§

impl Not for SaFlags

Source§

impl Not for SfdFlags

Source§

impl Not for MsgFlags

Source§

impl Not for SockFlag

Source§

impl Not for TimestampingFlag

Source§

impl Not for Mode

Source§

impl Not for SFlag

Source§

impl Not for FsFlags

Source§

impl Not for ControlFlags

Source§

impl Not for InputFlags

Source§

impl Not for LocalFlags

Source§

impl Not for OutputFlags

Source§

impl Not for TimerSetTimeFlags

Source§

impl Not for TimerFlags

Source§

impl Not for WaitPidFlag

Source§

impl Not for AccessFlags

Source§

impl Not for BigInt

Source§

impl Not for CipherCtxFlags

Source§

impl Not for CMSOptions

Source§

impl Not for OcspFlag

Source§

impl Not for Pkcs7Flags

Source§

impl Not for ExtensionContext

Source§

impl Not for ShutdownState

Source§

impl Not for SslMode

Source§

impl Not for SslOptions

Source§

impl Not for SslSessionCacheMode

Source§

impl Not for SslVerifyMode

Source§

impl Not for X509CheckFlags

Source§

impl Not for X509VerifyFlags

Source§

impl Not for AsciiSet

Source§

impl Not for Choice

Source§

impl Not for FontStyle

Source§

impl Not for B0

Not of 0 (!0 = 1)

Source§

impl Not for B1

Not of 1 (!1 = 0)

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 zerocopy::byteorder::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 LIMBS: usize> Not for Uint<LIMBS>

Source§

type Output = Uint<LIMBS>

Source§

impl<const LIMBS: usize> Not for crypto_bigint::wrapping::Wrapping<Uint<LIMBS>>

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>