Rust 正如“U切片生产”;“活得不够”;错误
我有以下功能:Rust 正如“U切片生产”;“活得不够”;错误,rust,Rust,我有以下功能: fn i_to_str(&self, i: int) -> &'a str { return i.to_string().as_slice(); } 此代码正在生成错误:由于as_切片的生存期,借来的值的生存时间不够长。有人知道是否有一些解决方法可以实现这一点吗?您不能从此函数返回切片,因为由i.to_String()返回的字符串将在退出函数时被释放/丢弃,而切片将引用一个释放的字符串。你应该返回一个String(在本例中直
fn i_to_str(&self, i: int) -> &'a str {
return i.to_string().as_slice();
}
此代码正在生成
错误:由于as_切片的生存期,借来的值的生存时间不够长。有人知道是否有一些解决方法可以实现这一点吗?您不能从此函数返回切片,因为由i.to_String()
返回的字符串将在退出函数时被释放/丢弃,而切片将引用一个释放的字符串。你应该返回一个String
(在本例中直接返回i.to_String()
),或者如果方法是由特征定义的,并且一些实现可以合理地返回一个片段,则返回一个字符串。我的一篇博客文章解释了这类事情的全部内容: