pub trait Neg {
type Output;
// Required method
fn neg(self) -> Self::Output;
}Available on crate features
crypto and std only.Expand description
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 = Self;
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);Required Associated Types§
Required Methods§
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementors§
§impl Neg for Offset
Negate this offset.
impl Neg for Offset
Negate this offset.
A positive offset becomes negative and vice versa. This is a no-op for the zero offset.
This never panics.