锈:返回对象并引用该对象

问题描述

我有如下代码,并且可以正常工作:

struct Inner {}    
struct MyStruct<'a> {
    r: &'a Inner,}
fn construct_inner() -> Inner {
    let inner = Inner{};
    inner
}
fn construct_struct<'a>(inner: &'a Inner) -> MyStruct<'a> {
    MyStruct{r: inner}
}
fn main() {
    let inner = construct_inner();
    let myStruct = construct_struct(&inner);
}

我想将主要功能更改为

fn main() {
    let (inner,myStruct) = construct_both();
}

但是我不知道如何。我尝试了显而易见的

fn construct_both<'a,'b:'a>() -> (Inner<'b>,MyStruct<'a>) {
    let inner = Inner{};
    (inner,MyStruct{r: &inner})
}

但这给了我一个“意外的寿命参数”错误

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)