Trait std::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 std::num::Wrapping<usize>impl Not for std::num::Wrapping<u8>impl Not for std::num::Wrapping<u16>impl Not for std::num::Wrapping<u32>impl Not for std::num::Wrapping<u64>impl Not for std::num::Wrapping<isize>impl Not for std::num::Wrapping<i8>impl Not for std::num::Wrapping<i16>impl Not for std::num::Wrapping<i32>impl Not for std::num::Wrapping<i64>impl<'a> Not for &'a Wrapping<usize>impl<'a> Not for &'a Wrapping<u8>impl<'a> Not for &'a Wrapping<u16>impl<'a> Not for &'a Wrapping<u32>impl<'a> Not for &'a Wrapping<u64>impl<'a> Not for &'a Wrapping<isize>impl<'a> Not for &'a Wrapping<i8>impl<'a> Not for &'a Wrapping<i16>impl<'a> Not for &'a Wrapping<i32>impl<'a> Not for &'a Wrapping<i64>impl Not for std::num::Wrapping<u128>impl Not for std::num::Wrapping<i128>impl<'a> Not for &'a Wrapping<u128>impl<'a> Not for &'a Wrapping<i128>impl Not for boolimpl Not for usizeimpl Not for u8impl Not for u16impl Not for u32impl Not for u64impl Not for isizeimpl Not for i8impl Not for i16impl Not for i32impl Not for i64impl<'a> Not for &'a boolimpl<'a> Not for &'a usizeimpl<'a> Not for &'a u8impl<'a> Not for &'a u16impl<'a> Not for &'a u32impl<'a> Not for &'a u64impl<'a> Not for &'a isizeimpl<'a> Not for &'a i8impl<'a> Not for &'a i16impl<'a> Not for &'a i32impl<'a> Not for &'a i64impl Not for u128impl Not for i128impl<'a> Not for &'a u128impl<'a> Not for &'a i128