core::opsTrait Not
1.6.0 · Source  pub trait Not {
    type Output;
    // Required method
    fn not(self) -> Self::Output;
}
Expand description
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 = Self;
    fn not(self) -> Self::Output {
        match self {
            Answer::Yes => Answer::No,
            Answer::No => Answer::Yes
        }
    }
}
assert_eq!(!Answer::Yes, Answer::No);
assert_eq!(!Answer::No, Answer::Yes);
The resulting type after applying the ! operator.
Performs the unary ! operation.
§Examples
assert_eq!(!true, false);
assert_eq!(!false, true);
assert_eq!(!1u8, 254);
assert_eq!(!0u8, 255);