【发布时间】:2016-02-09 17:36:09
【问题描述】:
下面是我的代码中的一个简化示例,它读取目录、遍历文件并在每个文件的末尾附加注释...
这个例子显示了一个Vec<Option<bool>>,在调用iter()之后,编译器将Option<_>解释为借用&Option<_>类型。我想了解为什么我会看到这种行为。
fn main() {
let vec = vec![Some(true), None];
vec.iter()
.filter_map(|o| o)
.count();
}
编译器输出
src/main.rs:50:25: 50:26 error: mismatched types:
expected `core::option::Option<_>`,
found `&core::option::Option<bool>`
(expected enum `core::option::Option`,
found &-ptr) [E0308]
src/main.rs:50 .filter_map(|o| o)
【问题讨论】:
标签: rust