1extern crate overload;
2use overload::overload;
3use std::ops;
4
5#[derive(PartialEq, Debug)]
6struct A(i32);
7
8#[derive(PartialEq, Debug)]
9struct B(i32);
10
11overload!(- (a: A) -> B { B(-a.0) });
12#[test]
13fn neg() {
14 assert_eq!(-A(3), B(-3));
15}
16
17overload!(! (a: A) -> B { B(!a.0) });
18#[test]
19fn not() {
20 assert_eq!(!A(3), B(!3));
21}
22