获取借来的结构

时间:2016-12-28 22:12:16

标签: rust ownership borrow-checker

我有以下功能:

pub fn finish_frame(&mut self) {
    if self.frame.is_none() {
        return;
    }

    self.frame.unwrap().finish().unwrap();
}

编译时,编译器给出了以下错误:

error[E0507]: cannot move out of borrowed content
  --> src/engine/renderer.rs:65:9
   |
65 |         self.frame.unwrap().finish().unwrap();
   |         ^^^^ cannot move out of borrowed content

self.frameOption类型,finish(mut self)取得self的所有权。由于finish(mut self)是一个库函数,我无法改变它。

我对如何做到这一点有任何想法?理想情况下,没有实现复制特性,这会浪费内存和CPU时间。

我是Rust新手,所以如果这是一个愚蠢的错误,请原谅我。

0 个答案:

没有答案