Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rust 如何解决;创建一个临时变量,该变量在仍在使用时被释放";?_Rust_Borrow Checker - Fatal编程技术网

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::FormatterMaybe
temp=safe{&(*r.as_ptr()).next}
不要做链表,不用谢我,关于生锈的链表已经有上百个问题了,你的老板很有可能会遇到these@stargateur实际上,我也在关注同一个链接,希望编写debug.well read它我相信它会非常完美地回答您可能
temp=safe{&(*r.as_ptr()).next}
不要做链表,不用谢我,关于生锈的链表已经有上百个问题了,你的老板很有可能会遇到these@stargateur事实上,我也在关注同一个链接,并希望编写调试。读得好,我相信它会非常完美地回答您