Rust 如何解决;创建一个临时变量,该变量在仍在使用时被释放";?
我正在尝试使用Rust 如何解决;创建一个临时变量,该变量在仍在使用时被释放";?,rust,borrow-checker,Rust,Borrow Checker,我正在尝试使用while循环为我的自定义列表实现Debug 使用std::cell::RefCell; 使用std::rc::rc; 类型链接=选项; 结构节点{ 瓦尔:T, 下一篇:链接, } 结构列表{ 负责人:林克, 尾:链接, len:使用, } 使用std::fmt; impl fmt::列表的调试{ fn fmt(&self,f:&mut fmt::格式化程序)` |创建在仍在使用时释放的临时文件 |在此处创建具有借用权限的临时文件。。。 | =注意:考虑使用一个“让”绑定来创建一个
while
循环为我的自定义列表实现Debug
使用std::cell::RefCell;
使用std::rc::rc;
类型链接=选项;
结构节点{
瓦尔:T,
下一篇:链接,
}
结构列表{
负责人:林克,
尾:链接,
len:使用,
}
使用std::fmt;
impl fmt::列表的调试{
fn fmt(&self,f:&mut fmt::格式化程序)`
|创建在仍在使用时释放的临时文件
|在此处创建具有借用权限的临时文件。。。
|
=注意:考虑使用一个“让”绑定来创建一个较长的生命值
我知道我引用了一个临时值r
,这是不好的。围绕这个问题有一个优雅且惯用的解决方案吗
Rustaceans后面的Rust code是否有借用模式?我知道有一种模式是std::mem::replace
,用于获取值的所有权,只有当我们有&mut T T
时,这种模式才起作用,有人称之为印第安纳琼斯模式我问,并从以下方面得到了答案:
impl fmt::调试列表{
fn fmt(&self,f:&mut fmt::Formatter
impl fmt::调试列表{
fn fmt(&self,f:&mut fmt::FormatterMaybetemp=safe{&(*r.as_ptr()).next}
不要做链表,不用谢我,关于生锈的链表已经有上百个问题了,你的老板很有可能会遇到these@stargateur实际上,我也在关注同一个链接,希望编写debug.well read它我相信它会非常完美地回答您可能temp=safe{&(*r.as_ptr()).next}
不要做链表,不用谢我,关于生锈的链表已经有上百个问题了,你的老板很有可能会遇到these@stargateur事实上,我也在关注同一个链接,并希望编写调试。读得好,我相信它会非常完美地回答您