Trait snarkvm_debug::prelude::string::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§

source

type Output

The resulting type after applying the ! operator.

Required Methods§

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

§

type Output = <bool as Not>::Output

source§

impl Not for &i8

§

type Output = <i8 as Not>::Output

source§

impl Not for &i16

§

type Output = <i16 as Not>::Output

source§

impl Not for &i32

§

type Output = <i32 as Not>::Output

source§

impl Not for &i64

§

type Output = <i64 as Not>::Output

source§

impl Not for &i128

§

type Output = <i128 as Not>::Output

source§

impl Not for &isize

§

type Output = <isize as Not>::Output

source§

impl Not for &u8

§

type Output = <u8 as Not>::Output

source§

impl Not for &u16

§

type Output = <u16 as Not>::Output

source§

impl Not for &u32

§

type Output = <u32 as Not>::Output

source§

impl Not for &u64

§

type Output = <u64 as Not>::Output

source§

impl Not for &u128

§

type Output = <u128 as Not>::Output

source§

impl Not for &usize

§

type Output = <usize as Not>::Output

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>

§

type Output = <Wrapping<i8> as Not>::Output

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>

§

type Output = <Wrapping<u8> as Not>::Output

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>

source§

impl Not for &BigInt

source§

impl Not for bool

§

type Output = bool

source§

impl Not for i8

§

type Output = i8

source§

impl Not for i16

§

type Output = i16

source§

impl Not for i32

§

type Output = i32

source§

impl Not for i64

§

type Output = i64

source§

impl Not for i128

§

type Output = i128

source§

impl Not for isize

1.60.0 · source§

impl Not for !

§

type Output = !

source§

impl Not for u8

§

type Output = u8

source§

impl Not for u16

§

type Output = u16

source§

impl Not for u32

§

type Output = u32

source§

impl Not for u64

§

type Output = u64

source§

impl Not for u128

§

type Output = u128

source§

impl Not for usize

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>

source§

impl Not for Wrapping<i8>

source§

impl Not for Wrapping<i16>

source§

impl Not for Wrapping<i32>

source§

impl Not for Wrapping<i64>

source§

impl Not for Wrapping<i128>

source§

impl Not for Wrapping<isize>

source§

impl Not for Wrapping<u8>

source§

impl Not for Wrapping<u16>

source§

impl Not for Wrapping<u32>

source§

impl Not for Wrapping<u64>

source§

impl Not for Wrapping<u128>

source§

impl Not for Wrapping<usize>

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 Choice

source§

impl Not for B0

Not of 0 (!0 = 1)

§

type Output = B1

source§

impl Not for B1

Not of 1 (!1 = 0)

§

type Output = B0

§

impl Not for Access

§

type Output = Access

§

impl Not for AtFlags

§

type Output = AtFlags

§

impl Not for ControlModes

§

type Output = ControlModes

§

impl Not for CreateFlags

§

type Output = CreateFlags

§

impl Not for DupFlags

§

type Output = DupFlags

§

impl Not for FallocateFlags

§

type Output = FallocateFlags

§

impl Not for FdFlags

§

type Output = FdFlags

§

impl Not for InputModes

§

type Output = InputModes

§

impl Not for LocalModes

§

type Output = LocalModes

§

impl Not for MemfdFlags

§

type Output = MemfdFlags

§

impl Not for Mode

§

type Output = Mode

§

impl Not for MountFlags

§

type Output = MountFlags

§

impl Not for MountPropagationFlags

§

type Output = MountPropagationFlags

§

impl Not for OFlags

§

type Output = OFlags

§

impl Not for OutputModes

§

type Output = OutputModes

§

impl Not for ReadWriteFlags

§

type Output = ReadWriteFlags

§

impl Not for RenameFlags

§

type Output = RenameFlags

§

impl Not for ResolveFlags

§

type Output = ResolveFlags

§

impl Not for SealFlags

§

type Output = SealFlags

§

impl Not for StatVfsMountFlags

§

type Output = StatVfsMountFlags

§

impl Not for StatxFlags

§

type Output = StatxFlags

§

impl Not for UnmountFlags

§

type Output = UnmountFlags

§

impl Not for WatchFlags

§

type Output = WatchFlags

§

impl Not for XattrFlags

§

type Output = XattrFlags

§

impl<E> Not for &Boolean<E>
where E: Environment,

§

type Output = Boolean<E>

§

impl<E> Not for snarkvm_debug::prelude::string::Boolean<E>
where E: Environment,

§

type Output = Boolean<E>

§

impl<E> Not for Boolean<E>
where E: Environment,

§

type Output = Boolean<E>

§

impl<E, I> Not for &Integer<E, I>
where E: Environment, I: IntegerType,

§

type Output = Integer<E, I>

§

impl<E, I> Not for snarkvm_debug::prelude::string::Integer<E, I>
where E: Environment, I: IntegerType,

§

type Output = Integer<E, I>

§

impl<E, I> Not for Integer<E, I>
where E: Environment, I: IntegerType,

§

type Output = Integer<E, I>

source§

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

§

type Output = Mask<T, N>

source§

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

§

type Output = Simd<i8, N>

source§

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

§

type Output = Simd<i16, N>

source§

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

§

type Output = Simd<i32, N>

source§

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

§

type Output = Simd<i64, N>

source§

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

§

type Output = Simd<isize, N>

source§

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

§

type Output = Simd<u8, N>

source§

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

§

type Output = Simd<u16, N>

source§

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

§

type Output = Simd<u32, N>

source§

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

§

type Output = Simd<u64, N>

source§

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

§

type Output = Simd<usize, N>