tl;drerror[E0716]: temporary value dropped while borrowed是一个困难且常见的问题,有一致的解决方案吗?
我遇到了困难的 rustc 错误
error[E0716]: temporary value dropped while borrowed
...
creates a temporary which is freed while still in use
Run Code Online (Sandbox Code Playgroud)
搜索Stackoverflow,有很多关于这个rust error的问题error[E0716]。
也许 Rust 专家可以为这个常见的新手问题提供一个通用的解决方案,一个足够好的解决方案,它也可以回答链接的问题(见下文)。
一个简洁的代码示例来演示该问题(Rust Playground):
type Vec1<'a> = Vec::<&'a String>;
fn fun1(s1: &String, v1: &mut Vec1) {
v1.insert(0, &s1.clone());
}
fn main() {
let mut vec1 = Vec::new();
let str1 = String::new();
fun1(&str1, &mut vec1);
}
Run Code Online (Sandbox Code Playgroud)
结果:
error[E0716]: temporary value dropped while borrowed
--> …Run Code Online (Sandbox Code Playgroud) rust ×1