问题描述
是否有某种方法可以从Rust借阅检查器获取详细的输出,以查看每个源文件的逻辑?当生命周期和/或借用存在某种问题时,有时会产生一些非常有用的输出来解释该问题。没有问题时,有没有办法得到类似的东西?
我现在感兴趣的特定案例来自Rust异步书(https://rust-lang.github.io/async-book/02_execution/02_future.html):
if let Some(a) = &mut self.a {
if let Poll::Ready(()) = a.poll(wake) {
self.a.take();
}
}
这可以成功编译,但是我还不清楚如何编译。似乎您正在匹配对self.a
的可变引用,因此该引用需要在整个块中都有效,但是在该块内部,您调用take
,这需要对{ {1}}。
我对这个特定案例的工作方式很感兴趣,但是我也希望能够追踪类似的案例。似乎在编译器中必须有一个借项检查器检查一系列布尔条件的地方,如果您可以将某种日志转储到文件中,那将是非常好的。有什么办法可以做这样的事情吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)