Trait std::ops::Not 1.0.0
[−]
[src]
#[lang = "not"]pub trait Not { type Output; fn not(self) -> Self::Output; }
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 = 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<'a> Not for &'a u32impl Not for Wrapping<i64>impl Not for Wrapping<u32>impl<'a> Not for &'a Wrapping<u64>impl Not for Wrapping<u64>impl<'a> Not for &'a Wrapping<usize>impl Not for isizeimpl Not for Wrapping<i16>impl<'a> Not for &'a Wrapping<u8>impl<'a> Not for &'a i32impl<'a> Not for &'a u8impl<'a> Not for &'a Wrapping<i32>impl Not for Wrapping<u128>impl<'a> Not for &'a Wrapping<u32>impl<'a> Not for &'a isizeimpl<'a> Not for &'a i16impl Not for i128impl<'a> Not for &'a i64impl Not for u16impl<'a> Not for &'a i128impl<'a> Not for &'a usizeimpl<'a> Not for &'a Wrapping<u16>impl Not for Wrapping<usize>impl<'a> Not for &'a u128impl Not for boolimpl Not for Wrapping<u8>impl<'a> Not for &'a u64impl<'a> Not for &'a i8impl Not for Wrapping<u16>impl<'a> Not for &'a Wrapping<i8>impl<'a> Not for &'a Wrapping<u128>impl<'a> Not for &'a Wrapping<i128>impl Not for Wrapping<i128>impl Not for usizeimpl Not for u128impl Not for i16impl Not for Wrapping<i32>impl Not for Wrapping<isize>impl<'a> Not for &'a Wrapping<i16>impl Not for i32impl<'a> Not for &'a Wrapping<i64>impl Not for i64impl Not for Wrapping<i8>impl<'a> Not for &'a Wrapping<isize>impl Not for u64impl<'a> Not for &'a boolimpl Not for u8impl<'a> Not for &'a u16impl Not for i8impl Not for u32