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

§

impl Not for &f32x4

§

impl Not for &i8x16

§

impl Not for &i16x8

§

impl Not for &i32x4

§

impl Not for &i64x2

§

impl Not for &u8x16

§

impl Not for &u16x8

§

impl Not for &u32x4

§

impl Not for &u64x2

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

Source§

impl Not for &USizeVec3

Source§

impl Not for &USizeVec4

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

§

impl Not for KeyEventState

§

impl Not for KeyModifiers

§

impl Not for KeyboardEnhancementFlags

§

impl Not for devela::_dep::ffmpeg_the_third::codec::decoder::slice::Flags

§

impl Not for Check

§

impl Not for Conceal

§

impl Not for devela::_dep::ffmpeg_the_third::codec::packet::Flags

§

impl Not for Capabilities

§

impl Not for CodecProperties

§

impl Not for Debug

§

impl Not for devela::_dep::ffmpeg_the_third::codec::Flags

§

impl Not for devela::_dep::ffmpeg_the_third::codec::subtitle::Flags

§

impl Not for devela::_dep::ffmpeg_the_third::filter::Flags

§

impl Not for Disposition

§

impl Not for devela::_dep::ffmpeg_the_third::format::Flags

§

impl Not for devela::_dep::ffmpeg_the_third::software::resampling::Flags

§

impl Not for devela::_dep::ffmpeg_the_third::software::scaling::Flags

§

impl Not for ChannelLayoutMask

§

impl Not for devela::_dep::ffmpeg_the_third::util::frame::Flags

§

impl Not for devela::_dep::ffmpeg_the_third::util::log::Flags

§

impl Not for Type

§

type Output = Type

§

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

§

impl Not for Mod

§

type Output = Mod

§

impl Not for MessageBoxButtonFlag

§

impl Not for MessageBoxFlag

§

impl Not for AllowChangeFlag

§

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

§

impl Not for FontStyle

§

impl Not for Channels

§

impl Not for i24

§

type Output = i24

§

impl Not for u24

§

type Output = u24

§

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 USizeVec2

Source§

impl Not for USizeVec3

Source§

impl Not for USizeVec4

Source§

impl Not for BigInt

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 ControlModes

§

type Output = ControlModes

§

impl Not for DupFlags

§

type Output = DupFlags

§

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 FdFlags

§

type Output = FdFlags

§

impl Not for Flags

§

type Output = Flags

§

impl Not for I11

§

type Output = I11

§

impl Not for I20

§

type Output = I20

§

impl Not for I24

§

type Output = I24

§

impl Not for I48

§

type Output = I48

§

impl Not for InputModes

§

type Output = InputModes

§

impl Not for LocalModes

§

type Output = LocalModes

§

impl Not for OutputModes

§

type Output = OutputModes

§

impl Not for PortCap

§

type Output = PortCap

§

impl Not for PortType

§

type Output = PortType

§

impl Not for ReadWriteFlags

§

type Output = ReadWriteFlags

§

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 U24

§

type Output = U24

§

impl Not for U48

§

type Output = U48

§

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>