Trait core::ops::Not
[−]
[src]
pub trait Not {
type Output;
fn not(self) -> Self::Output;
}The Not`Nottrait is used to specify the functionality of unary` trait is used to specify the functionality of unary !`!`.
Examples
A trivial implementation of Not`Not. When`. When !Foo`!Foohappens, it ends up calling` happens, it ends up calling
not`not, and therefore,`, and therefore, main`mainprints` prints Not-ing!`Not-ing!`.
use std::ops::Not; #[derive(Copy, Clone)] struct Foo; impl Not for Foo { type Output = Foo; fn not(self) -> Foo { println!("Not-ing!"); self } } fn main() { !Foo; }
Associated Types
type Output
The resulting type after applying the !`!` operator
Required Methods
Implementors
impl Not for Wrapping<usize>impl Not for Wrapping<u8>impl Not for Wrapping<u16>impl Not for Wrapping<u32>impl Not for Wrapping<u64>impl Not for Wrapping<isize>impl Not for Wrapping<i8>impl Not for Wrapping<i16>impl Not for Wrapping<i32>impl Not for Wrapping<i64>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 i64