Rust 临时变量的静态生存期?

Rust 临时变量的静态生存期?,rust,Rust,我有以下功能: fn加载数据()->结果{ // ... Ok(我的_数据) } 我只想在程序执行期间调用此函数一次,并将结果保存在静态变量中。 如果结果的类型是Option,那就更好了,因此消费者只需要检查数据是否存在,而不管数据不存在的原因是什么 我提出了以下建议: lazy\u static!{ 静态参考数据:Option=load_DATA().ok().as_ref(); | -------

我有以下功能:

fn加载数据()->结果{
// ...
Ok(我的_数据)
}
我只想在程序执行期间调用此函数一次,并将结果保存在
静态变量中。
如果结果的类型是
Option
,那就更好了,因此消费者只需要检查数据是否存在,而不管数据不存在的原因是什么

我提出了以下建议:

lazy\u static!{
静态参考数据:Option=load_DATA().ok().as_ref();
|                                                ----------------^^^^^^^^^
||返回引用当前函数拥有的数据的值
|                                                |
|                                                |
|此处创建的临时值

有没有办法实现我想要的或者我在概念上是错的?

如果这不困扰你,你可以泄露:为什么不干脆
lazy_static!{static ref DATA:Option=load_DATA().ok()}
?如果这不困扰你,你可以泄露:为什么不干脆
lazy_static!{static ref DATA:Option=load_DATA().ok()}