trait_alias/
lib.rs

1#![feature(trait_alias)]
2
3use core::ops::{Add, Div, Mul, Rem, Sub};
4
5/// Copy + Clone
6pub trait CC = Copy + Clone;
7
8/// Debug + Display
9pub trait DD = core::fmt::Debug + core::fmt::Display;
10
11/// [num::traits::NumOps]
12///
13/// see
14/// - <https://docs.rs/num/latest/num/traits/trait.NumOps.html>
15/// - <https://docs.rs/num-traits/0.2.14/src/num_traits/lib.rs.html#110-117>
16pub trait NumOps<Rhs = Self, Output = Self> = Add<Rhs, Output = Output>
17    + Sub<Rhs, Output = Output>
18    + Mul<Rhs, Output = Output>
19    + Div<Rhs, Output = Output>
20    + Rem<Rhs, Output = Output>;
21
22#[cfg(test)]
23mod tests {
24    #[test]
25    fn it_works() {
26        let result = 2 + 2;
27        assert_eq!(result, 4);
28    }
29}