我正试着了解所有权和借钱人.我遇到了一个我设法"解决"的问题,但我认为应该有一种更符合人体工程学的方法来解决.
下面的代码使borrow 判断器跳闸,因为我试图在borrow 上下文中将file.filepath
移动到thisfile_path
.
for file in &self.filelist {
let thisfile_path = String::from(file.filepath);
let this_wd = self.notifier.add_watch(Path::new(&file.filepath), watch_mask::CLOSE_WRITE).unwrap();
let this_watch = Watchlist {configfile: thisfile_path, watchd: this_wd};
watches.push(this_watch);
}
&self.filelist
是Vec<ConfigFiles>
,其中ConfigFiles是struct
.
我正在迭代filelist
,我想将一个字段从ConfigFiles struct 复制到一个新的Vec
.
如果我用
我已经找到了解决办法,但我认为这不是实现这一点的理想方式:
let thisfile_path = String::from(&file.filepath[..]);
这是我唯一能解决这个问题的方法吗?