Trait core::ops::Not 1.0.0
[−]
[src]
pub trait Not {
type Output;
fn not(self) -> Self::Output;
}The Not trait is used to specify the functionality of unary !.
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 = Answer; fn not(self) -> Answer { match self { Answer::Yes => Answer::No, Answer::No => Answer::Yes } } } assert_eq!(!Answer::Yes, Answer::No); assert_eq!(!Answer::No, Answer::Yes);Run
Associated Types
type Output
The resulting type after applying the ! operator
Required Methods
Implementors
impl Not for core::num::Wrapping<usize>impl<'a> Not for &'a Wrapping<usize>impl Not for core::num::Wrapping<u8>impl<'a> Not for &'a Wrapping<u8>impl Not for core::num::Wrapping<u16>impl<'a> Not for &'a Wrapping<u16>impl Not for core::num::Wrapping<u32>impl<'a> Not for &'a Wrapping<u32>impl Not for core::num::Wrapping<u64>impl<'a> Not for &'a Wrapping<u64>impl Not for core::num::Wrapping<isize>impl<'a> Not for &'a Wrapping<isize>impl Not for core::num::Wrapping<i8>impl<'a> Not for &'a Wrapping<i8>impl Not for core::num::Wrapping<i16>impl<'a> Not for &'a Wrapping<i16>impl Not for core::num::Wrapping<i32>impl<'a> Not for &'a Wrapping<i32>impl Not for core::num::Wrapping<i64>impl<'a> Not for &'a Wrapping<i64>impl Not for core::num::Wrapping<u128>impl<'a> Not for &'a Wrapping<u128>impl Not for core::num::Wrapping<i128>impl<'a> Not for &'a Wrapping<i128>impl Not for boolimpl<'a> Not for &'a boolimpl Not for usizeimpl<'a> Not for &'a usizeimpl Not for u8impl<'a> Not for &'a u8impl Not for u16impl<'a> Not for &'a u16impl Not for u32impl<'a> Not for &'a u32impl Not for u64impl<'a> Not for &'a u64impl Not for isizeimpl<'a> Not for &'a isizeimpl Not for i8impl<'a> Not for &'a i8impl Not for i16impl<'a> Not for &'a i16impl Not for i32impl<'a> Not for &'a i32impl Not for i64impl<'a> Not for &'a i64impl Not for u128impl<'a> Not for &'a u128impl Not for i128impl<'a> Not for &'a i128