Trait Not

1.0.0 · Source
pub trait Not {
    type Output;

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

core The unary logical negation operator !.

Re-exported from core::ops:: .


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

Source§

impl Not for &Boolean

Source§

impl Not for &Number

Source§

impl Not for &JsValue

§

impl Not for &f32x4

§

impl Not for &i8x16

§

impl Not for &i8x32

§

impl Not for &i16x8

§

impl Not for &i16x16

§

impl Not for &i32x4

§

impl Not for &i64x2

§

impl Not for &u8x16

§

impl Not for &u16x8

§

impl Not for &u16x16

§

impl Not for &u32x4

§

impl Not for &u64x2

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

§

impl Not for KeyEventState

§

impl Not for KeyModifiers

§

impl Not for KeyboardEnhancementFlags

§

impl Not for FileAccess

§

impl Not for Root

§

type Output = Root

§

impl Not for FileChooserType

§

impl Not for FileDialogOptions

§

impl Not for LineStyle

§

impl Not for Align

§

impl Not for CallbackTrigger

§

impl Not for Damage

§

impl Not for devela::_dep::fltk::enums::Mode

§

type Output = Mode

§

impl Not for Shortcut

§

impl Not for GridAlign

§

impl Not for AnimGifImageFlags

§

impl Not for MenuFlag

§

impl Not for Attrib

§

impl Not for CharFlags

§

impl Not for OutFlags

Source§

impl Not for BigInt

Source§

type Output = <&'static BigInt as Not>::Output

Source§

impl Not for Boolean

Source§

type Output = <&'static Boolean as Not>::Output

Source§

impl Not for Number

Source§

type Output = <&'static Number as Not>::Output

§

impl Not for I24

§

type Output = I24

§

impl Not for I48

§

type Output = I48

§

impl Not for U24

§

type Output = U24

§

impl Not for U48

§

type Output = U48

§

impl Not for devela::_dep::rustix::event::epoll::CreateFlags

§

impl Not for EventfdFlags

§

impl Not for PollFlags

§

impl Not for devela::_dep::rustix::fs::inotify::CreateFlags

§

impl Not for ReadFlags

§

impl Not for WatchFlags

§

impl Not for Access

§

impl Not for AtFlags

§

impl Not for FallocateFlags

§

impl Not for FdFlags

§

impl Not for IFlags

§

impl Not for MemfdFlags

§

impl Not for devela::_dep::rustix::fs::Mode

§

type Output = Mode

§

impl Not for MountFlags

§

impl Not for MountPropagationFlags

§

impl Not for OFlags

§

impl Not for RenameFlags

§

impl Not for ResolveFlags

§

impl Not for SealFlags

§

impl Not for StatVfsMountFlags

§

impl Not for StatxFlags

§

impl Not for UnmountFlags

§

impl Not for XattrFlags

§

impl Not for DupFlags

§

impl Not for ReadWriteFlags

§

impl Not for EventFlags

§

impl Not for IoringAcceptFlags

§

impl Not for IoringAsyncCancelFlags

§

impl Not for IoringCqFlags

§

impl Not for IoringCqeFlags

§

impl Not for IoringEnterFlags

§

impl Not for IoringFeatureFlags

§

impl Not for IoringFsyncFlags

§

impl Not for IoringMsgringFlags

§

impl Not for IoringOpFlags

§

impl Not for IoringPollFlags

§

impl Not for IoringRecvFlags

§

impl Not for IoringRegisterFlags

§

impl Not for IoringRsrcFlags

§

impl Not for IoringSendFlags

§

impl Not for IoringSetupFlags

§

impl Not for IoringSqFlags

§

impl Not for IoringSqeFlags

§

impl Not for IoringTimeoutFlags

§

impl Not for RecvFlags

§

impl Not for RecvmsgOutFlags

§

impl Not for SendFlags

§

impl Not for SocketFlags

§

impl Not for devela::_dep::rustix::io_uring::SpliceFlags

§

impl Not for MapFlags

§

impl Not for MlockAllFlags

§

impl Not for MlockFlags

§

impl Not for MprotectFlags

§

impl Not for MremapFlags

§

impl Not for MsyncFlags

§

impl Not for ProtFlags

§

impl Not for UserfaultfdFlags

§

impl Not for FsMountFlags

§

impl Not for FsOpenFlags

§

impl Not for FsPickFlags

§

impl Not for MountAttrFlags

§

impl Not for MoveMountFlags

§

impl Not for OpenTreeFlags

§

impl Not for SockaddrXdpFlags

§

impl Not for XdpDescOptions

§

impl Not for XdpOptionsFlags

§

impl Not for XdpRingFlags

§

impl Not for XdpUmemRegFlags

§

impl Not for PipeFlags

§

impl Not for devela::_dep::rustix::pipe::SpliceFlags

§

impl Not for FloatingPointEmulationControl

§

impl Not for FloatingPointExceptionMode

§

impl Not for MembarrierQuery

§

impl Not for PidfdFlags

§

impl Not for PidfdGetfdFlags

§

impl Not for SpeculationFeatureControl

§

impl Not for SpeculationFeatureState

§

impl Not for UnalignedAccessControl

§

impl Not for WaitOptions

§

impl Not for WaitidOptions

§

impl Not for OpenptFlags

§

impl Not for GetRandomFlags

§

impl Not for ShmOFlags

§

impl Not for ControlModes

§

impl Not for InputModes

§

impl Not for LocalModes

§

impl Not for OutputModes

§

impl Not for CapabilitiesSecureBits

§

impl Not for CapabilityFlags

§

impl Not for devela::_dep::rustix::thread::FutexFlags

§

impl Not for TaggedAddressMode

§

impl Not for ThreadNameSpaceType

§

impl Not for UnshareFlags

§

impl Not for TimerfdFlags

§

impl Not for TimerfdTimerFlags

§

impl Not for devela::_dep::sdl2::image::InitFlag

§

impl Not for devela::_dep::sdl2::keyboard::Mod

§

type Output = Mod

§

impl Not for devela::_dep::sdl2::messagebox::MessageBoxButtonFlag

§

impl Not for devela::_dep::sdl2::messagebox::MessageBoxFlag

§

impl Not for devela::_dep::sdl2::mixer::InitFlag

§

impl Not for FontStyle

§

impl Not for GlobFlags

§

impl Not for devela::_dep::sdl3::keyboard::Mod

§

type Output = Mod

§

impl Not for devela::_dep::sdl3::messagebox::MessageBoxButtonFlag

§

impl Not for devela::_dep::sdl3::messagebox::MessageBoxFlag

§

impl Not for Channels

§

impl Not for i24

§

type Output = i24

§

impl Not for u24

§

type Output = u24

Source§

impl Not for JsValue

Source§

type Output = <&'static JsValue as Not>::Output

§

impl Not for f32x4

§

impl Not for f32x8

§

impl Not for f64x2

§

impl Not for f64x4

§

impl Not for i8x16

§

impl Not for i8x32

§

impl Not for i16x8

§

impl Not for i16x16

§

impl Not for i32x4

§

impl Not for i32x8

§

impl Not for i64x2

§

impl Not for i64x4

§

impl Not for u8x16

§

impl Not for u16x8

§

impl Not for u16x16

§

impl Not for u32x4

§

impl Not for u32x8

§

impl Not for u64x2

§

impl Not for u64x4

Source§

impl Not for BVec2

Source§

impl Not for BVec3

Source§

impl Not for BVec4

Source§

impl Not for BVec3A

Source§

impl Not for BVec4A

Source§

impl Not for I8Vec2

Source§

impl Not for I8Vec3

Source§

impl Not for I8Vec4

Source§

impl Not for I16Vec2

Source§

impl Not for I16Vec3

Source§

impl Not for I16Vec4

Source§

impl Not for IVec2

Source§

impl Not for IVec3

Source§

impl Not for IVec4

Source§

impl Not for I64Vec2

Source§

impl Not for I64Vec3

Source§

impl Not for I64Vec4

Source§

impl Not for U8Vec2

Source§

impl Not for U8Vec3

Source§

impl Not for U8Vec4

Source§

impl Not for U16Vec2

Source§

impl Not for U16Vec3

Source§

impl Not for U16Vec4

Source§

impl Not for UVec2

Source§

impl Not for UVec3

Source§

impl Not for UVec4

Source§

impl Not for U64Vec2

Source§

impl Not for U64Vec3

Source§

impl Not for U64Vec4

Source§

impl Not for Choice

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>

§

impl Not for m128

§

type Output = m128

§

impl Not for m128d

§

impl Not for m128i

§

impl Not for m256

§

type Output = m256

§

impl Not for m256d

§

impl Not for m256i

§

impl Not for EfdFlags

§

type Output = EfdFlags

§

impl Not for EpollCreateFlags

§

type Output = EpollCreateFlags

§

impl Not for EpollFlags

§

type Output = EpollFlags

§

impl Not for EventMask

§

type Output = EventMask

§

impl Not for Flags

§

type Output = Flags

§

impl Not for I11

§

type Output = I11

§

impl Not for I20

§

type Output = I20

§

impl Not for PortCap

§

type Output = PortCap

§

impl Not for PortType

§

type Output = PortType

§

impl Not for Remove

§

type Output = Remove

§

impl Not for Transformations

§

type Output = Transformations

§

impl Not for U11

§

type Output = U11

§

impl Not for U20

§

type Output = U20

§

impl Not for WatchMask

§

type Output = WatchMask

Source§

impl<T, const CAP: usize, S: Storage> Not for Array<T, CAP, S>
where S::Stored<[T; CAP]>: Clone, T: Not<Output = T> + Copy,

Source§

type Output = Array<T, CAP, S>

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>