extern crate overload;
use overload::overload;
use std::ops;
#[derive(PartialEq, Debug)]
struct A(i32);
#[derive(PartialEq, Debug)]
struct B(i32);
overload!(- (a: A) -> B { B(-a.0) });
#[test]
fn neg() {
assert_eq!(-A(3), B(-3));
}
overload!(! (a: A) -> B { B(!a.0) });
#[test]
fn not() {
assert_eq!(!A(3), B(!3));
}