Rust 如何摆脱;无法返回引用临时值的值";错误

Rust 如何摆脱;无法返回引用临时值的值";错误,rust,reference,Rust,Reference,我正在尝试实现一个方法,该方法返回包含在HashMap中的结构的rwlockdeadguard(本身在RwLock中) 功能如下: pub fn get_pair多亏了斯文·马纳奇,我尝试了一种不同的方法,拥有了一个箱子。现在,方法get_pair如下所示: pub fn get\u pair rBlockReadGuardRef这能回答你的问题吗?恐怕不行,在我的示例中,函数不返回引用您的函数确实返回引用,因为TradePairHandle包含rBlockReadGuard,而rBlockRe

我正在尝试实现一个方法,该方法返回包含在
HashMap
中的结构的
rwlockdeadguard
(本身在
RwLock
中)

功能如下:


pub fn get_pair多亏了斯文·马纳奇,我尝试了一种不同的方法,拥有了一个箱子。现在,方法get_pair如下所示:


pub fn get\u pair rBlockReadGuardRef这能回答你的问题吗?恐怕不行,在我的示例中,函数不返回引用您的函数确实返回引用,因为
TradePairHandle
包含
rBlockReadGuard
,而rBlockReadGuard反过来又包含引用。但是,引用所指向的值是否在函数内部“创建”并不完全准确。问题在于,在函数的第一行中抓取的外部锁在从函数返回时会被释放,因此,您从该锁内部获得的任何引用都将在该点失效。@SvenMarnach好的,就是这样: