Trait core::ops::Not1.0.0[][src]

pub trait Not {
    type Output;
    #[must_use]
    fn not(self) -> Self::Output;
}
Expand description

一元逻辑否定运算符 !

Examples

用于 AnswerNot 的实现,该实现允许使用 ! 反转其值。

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);
Run

Associated Types

应用 ! 运算符后的结果类型。

Required methods

执行一元 ! 操作。

Examples

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

Implementors