Why Does Using 'move' in Rust Closures Fail to Compile?
struct Data { name: String, id: u32, } impl Data { fn getval(&self, val: Vec<u32>) -> u32 { self.id+val[0] } } fn call_closue<T>(data: &Data, f: T) ->...
这篇文章介绍了一个Rust编程语言的代码示例,其中出现了一个编译错误。错误的原因是在闭包中使用了move关键字,想要获取vec的所有权,但是由于val的类型Vec<u32>没有实现Copy trait,所以无法移动出去。