Trait Not

1.0.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§

Source§

impl Not for &Styles

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 &I192

Source§

impl Not for &I256

Source§

impl Not for &I320

Source§

impl Not for &I384

Source§

impl Not for &I448

Source§

impl Not for &I512

Source§

impl Not for &I768

Source§

impl Not for &U192

Source§

impl Not for &U256

Source§

impl Not for &U320

Source§

impl Not for &U384

Source§

impl Not for &U448

Source§

impl Not for &U512

Source§

impl Not for &U768

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.75.0 · Source§

impl Not for &Ipv4Addr

1.75.0 · Source§

impl Not for &Ipv6Addr

Source§

impl Not for &Style

Source§

impl Not for &BigInt

Source§

impl Not for Styles

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 EnabledModules

Source§

impl Not for EventFlags

Source§

impl Not for I192

Source§

impl Not for I256

Source§

impl Not for I320

Source§

impl Not for I384

Source§

impl Not for I448

Source§

impl Not for I512

Source§

impl Not for I768

Source§

impl Not for LockFlags

Source§

impl Not for U192

Source§

impl Not for U256

Source§

impl Not for U320

Source§

impl Not for U384

Source§

impl Not for U448

Source§

impl Not for U512

Source§

impl Not for U768

Source§

impl Not for VaultFreezeFlags

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>

1.75.0 · Source§

impl Not for Ipv4Addr

1.75.0 · Source§

impl Not for Ipv6Addr

Source§

impl Not for Style

Source§

impl Not for BigInt

Source§

impl Not for RefTypes

Source§

impl Not for CreateFlags

Source§

impl Not for ReadFlags

Source§

impl Not for WatchFlags

Source§

impl Not for Access

Source§

impl Not for AtFlags

Source§

impl Not for FallocateFlags

Source§

impl Not for MemfdFlags

Source§

impl Not for Mode

Source§

impl Not for OFlags

Source§

impl Not for RenameFlags

Source§

impl Not for ResolveFlags

Source§

impl Not for SealFlags

Source§

impl Not for StatVfsMountFlags

Source§

impl Not for DupFlags

Source§

impl Not for FdFlags

Source§

impl Not for ReadWriteFlags

Source§

impl Not for IFlags

Source§

impl Not for StatxAttributes

Source§

impl Not for StatxFlags

Source§

impl Not for XattrFlags

Source§

impl Not for Choice

Source§

impl Not for B0

Not of 0 (!0 = 1)

Source§

impl Not for B1

Not of 1 (!1 = 0)

Source§

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

Source§

type Output = Mask<T, N>

Source§

impl<const N: usize> Not for &BInt<N>

Source§

impl<const N: usize> Not for &BIntD8<N>

Source§

impl<const N: usize> Not for &BIntD16<N>

Source§

impl<const N: usize> Not for &BIntD32<N>

Source§

impl<const N: usize> Not for &BUint<N>

Source§

impl<const N: usize> Not for &BUintD8<N>

Source§

impl<const N: usize> Not for &BUintD16<N>

Source§

impl<const N: usize> Not for &BUintD32<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>

Source§

impl<const N: usize> Not for BInt<N>

Source§

impl<const N: usize> Not for BIntD8<N>

Source§

impl<const N: usize> Not for BIntD16<N>

Source§

impl<const N: usize> Not for BIntD32<N>

Source§

impl<const N: usize> Not for BUint<N>

Source§

impl<const N: usize> Not for BUintD8<N>

Source§

impl<const N: usize> Not for BUintD16<N>

Source§

impl<const N: usize> Not for BUintD32<N>