如何在方法里返回可变借用?

💡 原文中文,约900字,阅读约需2分钟。
📝

内容提要

有一个全局的HashMap,封装了一个方法来获取值的可变借用,但是报了一个错误,猜想是因为MutexGuard持有了借用,修改后编译通过,但不确定是否安全,求教可能会发生什么问题,有没有更好的写法?

🎯

关键要点

  • 全局 HashMap 使用了 Lazy 和 Mutex 封装。

  • 方法 get_client_stream 用于获取 TcpStream 的可变借用。

  • 编译时出现错误,提示返回对临时值的引用。

  • 错误原因可能是 MutexGuard 持有的借用在 unsafe 块外失效。

  • 参考 HashMap 源码后修改了方法,但仍然不确定安全性。

  • 请求建议,询问可能出现的问题及更好的写法。

➡️

继续阅读