Trait std::ops::Neg 1.0.0
[−]
[src]
pub trait Neg {
type Output;
fn neg(self) -> Self::Output;
}The Neg trait is used to specify the functionality of unary -.
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) -> Sign { 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
Required Methods
Implementors
impl Neg for std::num::Wrapping<usize>impl Neg for std::num::Wrapping<u8>impl Neg for std::num::Wrapping<u16>impl Neg for std::num::Wrapping<u32>impl Neg for std::num::Wrapping<u64>impl Neg for std::num::Wrapping<isize>impl Neg for std::num::Wrapping<i8>impl Neg for std::num::Wrapping<i16>impl Neg for std::num::Wrapping<i32>impl Neg for std::num::Wrapping<i64>impl<'a> Neg for &'a Wrapping<usize>impl<'a> Neg for &'a Wrapping<u8>impl<'a> Neg for &'a Wrapping<u16>impl<'a> Neg for &'a Wrapping<u32>impl<'a> Neg for &'a Wrapping<u64>impl<'a> Neg for &'a Wrapping<isize>impl<'a> Neg for &'a Wrapping<i8>impl<'a> Neg for &'a Wrapping<i16>impl<'a> Neg for &'a Wrapping<i32>impl<'a> Neg for &'a Wrapping<i64>impl Neg for std::num::Wrapping<u128>impl Neg for std::num::Wrapping<i128>impl<'a> Neg for &'a Wrapping<u128>impl<'a> Neg for &'a Wrapping<i128>impl Neg for isizeimpl Neg for i8impl Neg for i16impl Neg for i32impl Neg for i64impl Neg for f32impl Neg for f64impl<'a> Neg for &'a isizeimpl<'a> Neg for &'a i8impl<'a> Neg for &'a i16impl<'a> Neg for &'a i32impl<'a> Neg for &'a i64impl<'a> Neg for &'a f32impl<'a> Neg for &'a f64impl Neg for i128impl<'a> Neg for &'a i128