Rust 在函数体上具有生存期的泛型值上迭代时,借用值的生存期不够长
约束Rust 在函数体上具有生存期的泛型值上迭代时,借用值的生存期不够长,rust,lifetime,Rust,Lifetime,约束String:FromSo在将成员收集到s中后,是否要使用arg?否则我会说使用到iter中,一切都完成了。 fn func<'a, T>(arg: Vec<Box<T>>) where String: From<&'a T>, T: 'a, { let s: Vec<String> = arg.iter().map(|s| String::from(s)).collect(); do_som
String:FromSo在将成员收集到s
中后,是否要使用arg
?否则我会说使用到iter
中,一切都完成了。
fn func<'a, T>(arg: Vec<Box<T>>)
where
String: From<&'a T>,
T: 'a,
{
let s: Vec<String> = arg.iter().map(|s| String::from(s)).collect();
do_something_else(arg);
}
fn do_something_else<T>(arg: Vec<Box<T>>) {}
fn func<T>(arg: Vec<Box<T>>)
where
for<'a> String: From<&'a T>,
{
let s: Vec<String> = arg.iter().map(|s| String::from(s)).collect();
do_something_else(arg);
}
fn func<T>(arg: Vec<Box<T>>)
where
T: Display,
{
let _: Vec<_> = arg.iter().map(|s| s.to_string()).collect();
// ...
}