我遇到过更好的例子。就是类型又长又复杂又有很多细节,如果省略就非常好。
但一时想不起来。这个vec的例子是让AI给的例子。
再比如 iter()的返回值的类型,写出来就很麻烦:
fn foo<T>(v: &[T]) where T: MyTrait {
let iter0 = v.iter(); // < 这里iter0的类型很难写出来,同时也没必要写出来
...
}
【 在 namoamituofo 的大作中提到: 】
: 这个例子很好,说明了极端情况下类型造成的代码难读。
: 能看出来这是你用“人肉编译器”推导出来的类型。这样做容易出错不说,还必须缓存在脑子里。放在纸面上尚且难以阅读,何况放在脑子里。
: 关于这行代码,至少人肉推导想多了,可以这样写:
: ...................
--
FROM 115.220.224.*