Macro could do better.
I tried to implement CustomInitialize and CustomAssign trait in both my toy crate and this forum, which allow using
fn main() {cai!{// Custom Assign and Initialize, or "菜" in Chinese which suggest my programming skill is not good enough.
let a:i32:=1u8;
let mut b=1i32;
b~a;
b:=a;
}}
by define the corresponding trait correctly.
no need to write Neg
trait which actually do not support convert the base type to different types.