logo

Trait rocket::mtls::oid::asn1_rs::nom::lib::std::ops::Not

1.0.0 · source · []
pub trait Not {
    type Output;

    fn not(self) -> Self::Output;
}
Available on crate feature mtls only.
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);

Required Associated Types

The resulting type after applying the ! operator.

Required Methods

Performs the unary ! operation.

Examples
assert_eq!(!true, false);
assert_eq!(!false, true);
assert_eq!(!1u8, 254);
assert_eq!(!0u8, 255);

Implementations on Foreign Types

Not of 0 (!0 = 1)

Not of 1 (!1 = 0)

Implementors