这个例子很好,说明了极端情况下类型造成的代码难读。
能看出来这是你用“人肉编译器”推导出来的类型。这样做容易出错不说,还必须缓存在脑子里。放在纸面上尚且难以阅读,何况放在脑子里。
关于这行代码,至少人肉推导想多了,可以这样写:
let v: Vec<i32> = (0i32..10i32).collect::<Vec<i32>>();
【 在 hellowub 的大作中提到: 】
: 我个人理解,也不能处处都完全明确。编译器还是要聪明些,可以做些省略。
: 你觉得省略声明 更费脑子,那你可以写完整的声明。
: 有人觉得不写声明更简单,就可以省略声明。
: ...................
--
FROM 60.247.21.*