std::ops::Not
Trait std::ops::Not
#[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);
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<u128>
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 Wrapping<i128>
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<u128>
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<'a> Not for &'a Wrapping<i128>
impl Not for bool
impl Not for usize
impl Not for u8
impl Not for u16
impl Not for u32
impl Not for u64
impl Not for u128
impl Not for isize
impl Not for i8
impl Not for i16
impl Not for i32
impl Not for i64
impl Not for i128
impl<'a> Not for &'a bool
impl<'a> Not for &'a usize
impl<'a> Not for &'a u8
impl<'a> Not for &'a u16
impl<'a> Not for &'a u32
impl<'a> Not for &'a u64
impl<'a> Not for &'a u128
impl<'a> Not for &'a isize
impl<'a> Not for &'a i8
impl<'a> Not for &'a i16
impl<'a> Not for &'a i32
impl<'a> Not for &'a i64
impl<'a> Not for &'a i128
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/ops/trait.Not.html