为什么这段代码会编译?
fn get_iter() -> impl Iterator<Item = i32> { [1, 2, 3].iter().map(|&i| i) } fn main() { let _it = get_iter(); }
[1, 2, 3]是一个局部变量并iter()借用它.此代码不应编译,因为返回的值包含对局部变量的引用.
[1, 2, 3]
iter()
reference rust borrow-checker
borrow-checker ×1
reference ×1
rust ×1