对于普通的枚举类型(举例),enumErrorCode{EINVAL=1,EAGAIN=2,}lete1=EINVAL;lete2=EAGAIN;这样的判断是非法的:assert_eq!(e1,e2);如果不实现traitEq的话,implEqforErrorCode{fneq(&self,other:&ErrorCode)->bool{*selfasint==*otherasint}}也除了e1asint==e2asint的话,是否有别的典型的办法可以比较e1和e2是否为同一值?总觉得这两个办法都有点别扭。另外,即使实现了Eq,貌似assert_eq!(e1,e2)也会报错,只能用assert!(e1==e2)这样的写法。
慕尼黑的夜晚无繁华
慕侠2389804
相关分类