Rust 的心智负担太重了,举个例子,所谓面向对向编程。我们其它编程语言当中,都知道定义Interface, 然后implement这个interface. 是吧。
好,在Rust里面,它不叫Interface,叫trait了,what fuck?
ok,你可以实现trait, 但是不同类型,你要实现多次? 你想找泛型,你发现手册没有讲怎么搞trait的泛型。。。。
脑袋裂开了。
在Java中,很简单的泛型 implement 实现interface, 在Rust里面做不到。
还有,你以为trait 看起来也很简单是吧,那你看看
trait Add<Rhs=Self> {
type Output;
fn add(self, rhs: Rhs) -> Self::Output;
}
What fuck. Trait 后面Rhs=Self又是什么鬼,
你一拍大腿,这有啥,再 往下看
<Type as Trait>::function(receiver_if_method, next_arg, ...);
它喵的,有菊麻麦皮不知当桨不当桨
写的时候容易,过几天再看你写的代码,估计你会跳起来给自己一拳,这写的啥玩意儿?