Trait Not

1.6.0 · 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 · Source§

impl Not for &bool

1.0.0 · Source§

impl Not for &i8

1.0.0 · Source§

impl Not for &i16

1.0.0 · Source§

impl Not for &i32

1.0.0 · Source§

impl Not for &i64

1.0.0 · Source§

impl Not for &i128

1.0.0 · Source§

impl Not for &isize

1.0.0 · Source§

impl Not for &u8

1.0.0 · Source§

impl Not for &u16

1.0.0 · Source§

impl Not for &u32

1.0.0 · Source§

impl Not for &u64

1.0.0 · Source§

impl Not for &u128

1.0.0 · Source§

impl Not for &usize

Source§

impl Not for &BigInt

1.75.0 · Source§

impl Not for &Ipv4Addr

1.75.0 · Source§

impl Not for &Ipv6Addr

1.74.0 · Source§

impl Not for &Saturating<i8>

1.74.0 · Source§

impl Not for &Saturating<i16>

1.74.0 · Source§

impl Not for &Saturating<i32>

1.74.0 · Source§

impl Not for &Saturating<i64>

1.74.0 · Source§

impl Not for &Saturating<i128>

1.74.0 · Source§

impl Not for &Saturating<isize>

1.74.0 · Source§

impl Not for &Saturating<u8>

1.74.0 · Source§

impl Not for &Saturating<u16>

1.74.0 · Source§

impl Not for &Saturating<u32>

1.74.0 · Source§

impl Not for &Saturating<u64>

1.74.0 · Source§

impl Not for &Saturating<u128>

1.74.0 · Source§

impl Not for &Saturating<usize>

1.14.0 · Source§

impl Not for &Wrapping<i8>

1.14.0 · Source§

impl Not for &Wrapping<i16>

1.14.0 · Source§

impl Not for &Wrapping<i32>

1.14.0 · Source§

impl Not for &Wrapping<i64>

1.14.0 · Source§

impl Not for &Wrapping<i128>

1.14.0 · Source§

impl Not for &Wrapping<isize>

1.14.0 · Source§

impl Not for &Wrapping<u8>

1.14.0 · Source§

impl Not for &Wrapping<u16>

1.14.0 · Source§

impl Not for &Wrapping<u32>

1.14.0 · Source§

impl Not for &Wrapping<u64>

1.14.0 · Source§

impl Not for &Wrapping<u128>

1.14.0 · Source§

impl Not for &Wrapping<usize>

1.0.0 · Source§

impl Not for bool

1.0.0 · Source§

impl Not for i8

1.0.0 · Source§

impl Not for i16

1.0.0 · Source§

impl Not for i32

1.0.0 · Source§

impl Not for i64

1.0.0 · Source§

impl Not for i128

1.0.0 · Source§

impl Not for isize

1.60.0 · Source§

impl Not for !

1.0.0 · Source§

impl Not for u8

1.0.0 · Source§

impl Not for u16

1.0.0 · Source§

impl Not for u32

1.0.0 · Source§

impl Not for u64

1.0.0 · Source§

impl Not for u128

1.0.0 · Source§

impl Not for usize

Source§

impl Not for FileType

Source§

impl Not for nix::fcntl::AtFlags

Source§

impl Not for nix::fcntl::AtFlags

Source§

impl Not for nix::fcntl::FallocateFlags

Source§

impl Not for nix::fcntl::FallocateFlags

Source§

impl Not for nix::fcntl::FdFlag

Source§

impl Not for nix::fcntl::FdFlag

Source§

impl Not for nix::fcntl::OFlag

Source§

impl Not for nix::fcntl::OFlag

Source§

impl Not for nix::fcntl::RenameFlags

Source§

impl Not for nix::fcntl::RenameFlags

Source§

impl Not for nix::fcntl::ResolveFlag

Source§

impl Not for nix::fcntl::ResolveFlag

Source§

impl Not for nix::fcntl::SealFlag

Source§

impl Not for nix::fcntl::SealFlag

Source§

impl Not for PollFlags

Source§

impl Not for PosixSpawnFlags

Source§

impl Not for MFdFlags

Source§

impl Not for MemFdCreateFlag

Source§

impl Not for nix::sys::signal::SaFlags

Source§

impl Not for nix::sys::signal::SaFlags

Source§

impl Not for nix::sys::signalfd::SfdFlags

Source§

impl Not for nix::sys::signalfd::SfdFlags

Source§

impl Not for nix::sys::stat::Mode

Source§

impl Not for nix::sys::stat::Mode

Source§

impl Not for nix::sys::stat::SFlag

Source§

impl Not for nix::sys::stat::SFlag

Source§

impl Not for nix::sys::statvfs::FsFlags

Source§

impl Not for nix::sys::statvfs::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 nix::sys::wait::WaitPidFlag

Source§

impl Not for nix::sys::wait::WaitPidFlag

Source§

impl Not for nix::unistd::AccessFlags

Source§

impl Not for nix::unistd::AccessFlags

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 rustix::backend::fs::inotify::CreateFlags

Source§

impl Not for rustix::backend::fs::inotify::CreateFlags

Source§

impl Not for rustix::backend::fs::inotify::ReadFlags

Source§

impl Not for rustix::backend::fs::inotify::ReadFlags

Source§

impl Not for rustix::backend::fs::inotify::WatchFlags

Source§

impl Not for rustix::backend::fs::inotify::WatchFlags

Source§

impl Not for rustix::backend::fs::types::Access

Source§

impl Not for rustix::backend::fs::types::Access

Source§

impl Not for rustix::backend::fs::types::AtFlags

Source§

impl Not for rustix::backend::fs::types::AtFlags

Source§

impl Not for rustix::backend::fs::types::FallocateFlags

Source§

impl Not for rustix::backend::fs::types::FallocateFlags

Source§

impl Not for rustix::backend::fs::types::MemfdFlags

Source§

impl Not for rustix::backend::fs::types::MemfdFlags

Source§

impl Not for rustix::backend::fs::types::Mode

Source§

impl Not for rustix::backend::fs::types::Mode

Source§

impl Not for rustix::backend::fs::types::OFlags

Source§

impl Not for rustix::backend::fs::types::OFlags

Source§

impl Not for rustix::backend::fs::types::RenameFlags

Source§

impl Not for rustix::backend::fs::types::RenameFlags

Source§

impl Not for rustix::backend::fs::types::ResolveFlags

Source§

impl Not for rustix::backend::fs::types::ResolveFlags

Source§

impl Not for rustix::backend::fs::types::SealFlags

Source§

impl Not for rustix::backend::fs::types::SealFlags

Source§

impl Not for rustix::backend::fs::types::StatVfsMountFlags

Source§

impl Not for rustix::backend::fs::types::StatVfsMountFlags

Source§

impl Not for rustix::backend::fs::types::StatxFlags

Source§

impl Not for rustix::backend::io::types::DupFlags

Source§

impl Not for rustix::backend::io::types::DupFlags

Source§

impl Not for rustix::backend::io::types::FdFlags

Source§

impl Not for rustix::backend::io::types::FdFlags

Source§

impl Not for rustix::backend::io::types::ReadWriteFlags

Source§

impl Not for rustix::backend::io::types::ReadWriteFlags

Source§

impl Not for MountFlags

Source§

impl Not for MountPropagationFlags

Source§

impl Not for UnmountFlags

Source§

impl Not for rustix::fs::ioctl::IFlags

Source§

impl Not for rustix::fs::ioctl::IFlags

Source§

impl Not for StatxAttributes

Source§

impl Not for rustix::fs::statx::StatxFlags

Source§

impl Not for rustix::fs::xattr::XattrFlags

Source§

impl Not for rustix::fs::xattr::XattrFlags

Source§

impl Not for CodegenConfig

Source§

impl Not for BigInt

Source§

impl Not for Modifiers

Source§

impl Not for B0

Not of 0 (!0 = 1)

Source§

impl Not for B1

Not of 1 (!1 = 0)

1.75.0 · Source§

impl Not for Ipv4Addr

1.75.0 · Source§

impl Not for Ipv6Addr

1.74.0 · Source§

impl Not for Saturating<i8>

1.74.0 · Source§

impl Not for Saturating<i16>

1.74.0 · Source§

impl Not for Saturating<i32>

1.74.0 · Source§

impl Not for Saturating<i64>

1.74.0 · Source§

impl Not for Saturating<i128>

1.74.0 · Source§

impl Not for Saturating<isize>

1.74.0 · Source§

impl Not for Saturating<u8>

1.74.0 · Source§

impl Not for Saturating<u16>

1.74.0 · Source§

impl Not for Saturating<u32>

1.74.0 · Source§

impl Not for Saturating<u64>

1.74.0 · Source§

impl Not for Saturating<u128>

1.74.0 · Source§

impl Not for Saturating<usize>

1.0.0 · Source§

impl Not for Wrapping<i8>

1.0.0 · Source§

impl Not for Wrapping<i16>

1.0.0 · Source§

impl Not for Wrapping<i32>

1.0.0 · Source§

impl Not for Wrapping<i64>

1.0.0 · Source§

impl Not for Wrapping<i128>

1.0.0 · Source§

impl Not for Wrapping<isize>

1.0.0 · Source§

impl Not for Wrapping<u8>

1.0.0 · Source§

impl Not for Wrapping<u16>

1.0.0 · Source§

impl Not for Wrapping<u32>

1.0.0 · Source§

impl Not for Wrapping<u64>

1.0.0 · Source§

impl Not for Wrapping<u128>

1.0.0 · Source§

impl Not for Wrapping<usize>

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>