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}