# 1.0.0[−][src]Trait core::ops::Neg

The unary negation operator `-`

.

# Examples

An implementation of `Neg`

for `Sign`

, which allows the use of `-`

to
negate its value.

use std::ops::Neg; #[derive(Debug, PartialEq)] enum Sign { Negative, Zero, Positive, } impl Neg for Sign { type Output = Sign; fn neg(self) -> Self::Output { match self { Sign::Negative => Sign::Positive, Sign::Zero => Sign::Zero, Sign::Positive => Sign::Negative, } } } // A negative positive is a negative. assert_eq!(-Sign::Positive, Sign::Negative); // A double negative is a positive. assert_eq!(-Sign::Negative, Sign::Positive); // Zero is its own negation. assert_eq!(-Sign::Zero, Sign::Zero);Run

## Associated Types

`type Output`

The resulting type after applying the `-`

operator.